我有点傻眼了:
我正在为我的应用程序编写一些代码,但我打错了字。我添加了方括号,而不是 p。 Smart Eclipse 为我添加了另一个支架。令我惊讶的是,没有弹出关于任何语法错误的警告。
System.setProperty("apple.laf.useScreenMenuBar", "true");[]
// No Warnings or Errors?!?!?
this.initalize();
我可以将它们添加到构造函数和方法中的任何位置,但不能添加到其他位置。我继续试验:
this.initalize();[][][]
// this.parent.setJMenuBar(this);
this.setVisible(true);
我可以有多个数组...
this.initalize();[[]] // Syntax Error, delete this token
//this.parent.setJMenuBar(this);
this.setVisible(true);
但没有嵌套。
我又尝试了一点……我在某些地方遇到了错误。
JMenuItem help_about = new JMenuItem("About the Developers...");
[] // Error!
help_help.setToolTipText("Access the help center");
分号使这些容易出错:
[]; // Error!
好像我可以把这些括号放在任何地方,只要后面有一个保留关键字...
[]
return view; // No Errors here...
在我保存代码、重新启动 Eclipse 或其他任何操作时,没有任何变化。关于我的系统的一些信息:
- Eclipse Luna 4.4.2
- 合规级别 1.6
- Java 7(我认为)不! Java 版本 1.6.0_65
所以,这是我的问题......
- 这是 eclipse 的错误吗?
- 这是 java 语法的意外吗?
- 或者,是...
这不是错误...这是功能!!!
最佳答案
既不是eclipse的bug,也不是java提供的特性。
我在 Eclipse Luna 4.4.0 和 Java 7 中运行了相同的代码,它给了我错误。
正如 Sotirios 所评论的那样,它不是有效的语法。
另一方面,如果您以与使用 []
相同的方式编写了 ;
或 {}
,它们将不会给您错误。但这是因为 java 编译器理解它并且它们是有效的。
所以你可能没有得到错误可能是由于其他一些原因,比如当你看到它没有错误时,eclipse 可能没有编译你的代码,或者可能由于某种原因花费了太多时间等等。
关于java - Java语法允许随机数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31039481/