小编Jul*_*ang的帖子

用于Java Void参考类型?

有一个Java Void- 大写的V-- 引用类型.我见过它唯一的情况是参数化Callables

final Callable<Void> callable = new Callable<Void>() {
            public Void call() {
                foobar();
                return null;
            }
        };
Run Code Online (Sandbox Code Playgroud)

Java Void引用类型还有其他用途吗?可以分配除了以外的任何东西null吗?如果是的话,你有例子吗?

java void

158
推荐指数
7
解决办法
8万
查看次数

为什么java.lang.Number没有实现Comparable?

有谁知道为什么 java.lang.Number不实施Comparable?这意味着你无法排序Numbers的Collections.sort这对我来说有点陌生.

发布讨论更新:

感谢所有有用的回复.我最后对这个话题进行了更多的研究.

java.lang.Number未实现Comparable的原因的最简单解释源于可变性问题.

对于位的检讨,java.lang.Number是抽象的超类型的AtomicInteger,AtomicLong,BigDecimal,BigInteger,Byte,Double,Float,Integer,LongShort.在那个列表上,AtomicIntegerAtomicLong没有实现Comparable.

四处搜索,我发现Comparable在可变类型上实现这不是一个好习惯,因为对象在比较期间或之后可能会发生变化,因此比较结果无用.这两个AtomicLongAtomicInteger是可变的.API设计者已经预见到没有Number实现,Comparable因为它会限制未来子类型的实现.确实,AtomicLong并且AtomicIntegerjava.lang.Number最初实现之后很久就被添加到Java 1.5中.

除了可变性之外,这里也可能有其他考虑因素.一compareTo实施Number就必须促进所有的数字值BigDecimal,因为它是能够容纳所有的Number子类型.这种促销在数学和表现方面的含义对我来说有点不清楚,但我的直觉发现了解决方案.

java sorting comparable

132
推荐指数
4
解决办法
3万
查看次数

为什么在Java中将局部变量和方法参数标记为"final"?

在Java中,您可以使用final关键字限定局部变量和方法参数.

public static void foo(final int x) {
  final String qwerty = "bar"; 
}
Run Code Online (Sandbox Code Playgroud)

这样做会导致无法在方法体中重新分配x和qwerty.

这种做法使你的代码向不变性的方向推动,这通常被认为是一个加分.但是,它也会使代码混乱,"最终"出现在各处.您对Java中的局部变量和方法参数的final关键字有何看法?

java final

57
推荐指数
5
解决办法
10万
查看次数

Mac OS X上的Clojure编辑器/ IDE建议

我开始学习Clojure编程语言.在Mac OS X上是否有针对Clojure编辑器/ IDE的建议?

更新2009-09-23:自从我最初发布此问题以来,Clojure空间发生了巨大变化.下面的许多链接,特别是那些与Emacs引用clojure模式的链接都是过时的.我发现的最好的Clojure IDE 是最近发布的Enclojure Netbeans插件(2009-08-25).

更新2010-04-30:关于这个主题的另一篇非常好的文章是Clojure IDEs - Lau B. Jensen 的Grand Tour.另外,对于我自己的clojure开发,我实际上已经转移到了Emacs/swank-clojure.

ide macos editor clojure

52
推荐指数
7
解决办法
3万
查看次数

Clojure常量的约定,样式和用法?

在样式,约定,效率等方面,在Clojure中定义常量的最佳实践是什么?

例如,这是对的吗?

(def *PI* 3.14)

问题:

常量应该在Clojure中大写吗?

在风格上,他们是否应该在一侧或两侧都有星号(*)?

我应该注意的任何计算效率考虑因素?

clojure

40
推荐指数
5
解决办法
1万
查看次数

递归设置文件权限的Python方式是什么?

以递归方式将所有者和组设置为目录中的文件的"python方式"是什么?我可以将'chown -R'命令传递给shell,但我觉得我错过了一些明显的东西.

我对此很不满意:


import os  
path = "/tmp/foo"  
for root, dirs, files in os.walk(path):  
  for momo in dirs:  
    os.chown(momo, 502, 20)
Run Code Online (Sandbox Code Playgroud)

这似乎适用于设置目录,但在应用于文件时失败.我怀疑文件没有得到整个路径,因此chown失败,因为它无法找到文件.错误是:

'OSError:[Errno 2]没有这样的文件或目录:'foo.html'

我在这里俯瞰什么?

python recursion chown

35
推荐指数
4
解决办法
4万
查看次数

如何在Emacs组织模式中隐藏所有"完成"条目

我希望能够在org-mode中打开和关闭"完成"条目的显示.

替代方案 - 是否可以仅打开未完成的条目

emacs org-mode

24
推荐指数
2
解决办法
7049
查看次数

你对Maven有什么印象?

我正在考虑将Maven用于我管理的Java开源项目.

然而,在过去,Maven并不总是拥有最好的声誉.你现在对Maven有什么印象?

java open-source maven-2

21
推荐指数
6
解决办法
5093
查看次数

如何在Clojure中创建一个原始的二维(2d)双精度数组?

我是Clojure interoping的Java API要求我传递一个2d的双精度数组; 双[][].如何在Clojure中创建一个原始的二维双数组?我正在寻找这样的东西

(double-array-2d [[1 2] [3 4]])

此函数的Java返回类型为double [] [].

java clojure

20
推荐指数
1
解决办法
2826
查看次数

如何获取当前节点的父节点名称?

获取当前节点的父节点名称的正确语法是什么?我知道这是关于AxisName的父级,但是什么是正确的语法?例如以下xml

<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" location="file:/dev/null" iosp="lasp.tss.iosp.ValueGeneratorIOSP" start="0" increment="1">
    <attribute name="title" value="Vector time series"/>
    <dimension name="time" length="100"/>
    <variable name="time" shape="time" type="double">
        <attribute name="units" type="String" value="seconds since 1970-01-01T00:00"/>
    </variable>
    <group name="Vector" tsdsType="Structure" shape="time">
        <variable name="x" shape="time" type="double"/>
        <variable name="y" shape="time" type="double"/>
        <variable name="z" shape="time" type="double"/>
    </group>
</netcdf>
Run Code Online (Sandbox Code Playgroud)

对于元素变量,我应该得到netcdf或group.提前致谢.

xslt xpath netcdf ncml

18
推荐指数
2
解决办法
4万
查看次数

标签 统计

java ×5

clojure ×3

chown ×1

comparable ×1

editor ×1

emacs ×1

final ×1

ide ×1

macos ×1

maven-2 ×1

ncml ×1

netcdf ×1

open-source ×1

org-mode ×1

python ×1

recursion ×1

sorting ×1

void ×1

xpath ×1

xslt ×1