我今天看了一些Java代码,发现了一些奇怪的语法:
public class Sample {
public int get()[] {
return new int[]{1, 2, 3};
}
}
我以为无法编译,并想解决我认为是错字的问题,但是后来我想起Java编译器确实接受了它!
有人可以帮我理解它的意思吗?它是功能数组吗?
这是一个返回的方法int[]
。
Java语言规范(8.4方法声明)
为了与Java平台的较早版本兼容,允许使用返回数组的方法的声明形式(将部分或全部)空括号对放置在参数列表之后,该空括号对构成数组类型的声明。
过时的生产支持了这一点:
MethodDeclarator :
MethodDeclarator []但不应在新代码中使用。
我正在尝试改变鼠标按钮,将地图视图从右键平移到左键。 在单击鼠标左键后,有一个简单的代码来更改按钮: 如何直接改变平移按钮,而不被释放和再次点击?谢谢你的帮助...
问题内容: 到处都写着静态方法不能被覆盖,但是当我尝试将访问说明符从public改为protected时,它给出了一个错误。例如 它说 无法降低继承方法的可见性 所以说这是遵循最重要的规则,为什么我们说foo在B类中没有被忽略?为什么我们说它是隐藏/阴影而不是覆盖? 问题答案: 它 遵循 与覆盖 相同 的 一些规则 ,但这并不意味着它 被 覆盖。在这种情况下,这就是JLS的8.4.8.3节 “覆盖
问题内容: 在弄乱Eclipse中的自定义格式设置选项的同时,在示例代码之一中,我看到了如下代码: 我从未见过像这样使用过,并且我从事Java编程已有9年了!有谁知道你为什么要这么做?这样做的可能用例/好处是什么? 我看到的另一段代码,我认为这是一个非常有用的速记,因此我也在这里共享了它,它的作用很明显: 问题答案: 它是在Java 7中添加的。它称为try-with- resources 语句。
我有以下代码片段: 如果我调用foo(null)为什么没有歧义?为什么程序调用foo(字符串x)而不是foo(对象x)?
问题内容: 在C#中,如果希望方法具有不确定数量的参数,则可以使方法签名中的最终参数为a ,以使方法参数看起来像数组,但允许使用该方法的每个人传递尽可能多的该类型的参数如来电者所愿。 我相当确定Java支持类似的行为,但是我不知道如何做到这一点。 问题答案: 在Java中,它称为varargs,其语法看起来像一个常规参数,但类型后面带有省略号(“ …”): vararg参数必须 始终 是方法签名中
所以我更新了代码,添加了行所做的是将主线程置于Hibernate状态一段时间,因此jvm可以获得一些时间来创建一个新线程。我正在得到我的预期输出