Java中奇怪的数组声明方式

3

Project[[ | ]] array = new Project[[1 | 1]];

这是一个二维数组的声明,其中 "Project" 是数组元素类型。这个数组只有一个元素,它也是一个数组,包含一个 "Project" 元素。
在 NetBeans 中,这种数组声明可能不被允许。但是在这个例子中http://wiki.netbeans.org/OpenProjectsProgramaticallyInNetBeansIDE,这样的声明是正确的。
希望这能给您一些想法。

3
语法不正确。示例代码中似乎有一个打字错误。 - Kayaman
2
这是Java吗?哎呀!!!他们什么时候改变了数组语法? - Android Killer
安卓杀手,当我第一次看到它时,我也感到惊讶。 - Satyam Koyani
即使使用最新的Java 8约定,语法似乎也不正确。我认为这只是一个笔误,就像Kayaman所说的那样。请参阅此处的文档:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html - Mena
在那个例子中,Project[] array = new Project[1]; 的意思是创建一个 Project 数组。 - zapl
2个回答

2

根据JDK7中的javac,这是无效的语法(在第一个[[处提示error: illegal start of expression)。我认为这必须是生成该页面时出现错误或类似情况。


1
这是无效的语法。请参阅Java语言规范,了解声明数组的正确语法。规范
规范明确指出:
块初始化器被写成由逗号分隔的表达式列表,用大括号 { 和 } 括起来。
没有提到添加竖线或嵌套括号。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接