java - Java语法允许随机数组吗?

标签 java eclipse syntax

我有点傻眼了:

我正在为我的应用程序编写一些代码,但我打错了字。我添加了方括号,而不是 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/

相关文章:

java - fragment 中的 RecyclerView 在设备屏幕旋转时崩溃

java - 如何更改 JFace 向导对话框中的“后退”和“下一步”按钮位置?

eclipse - 真的很奇怪的 Eclipse 键盘行为/错误吗?

syntax - 一些函数式编程语言在语法上是否适合更好的性能?

c++ - 关于结构初始化语法错综复杂的问题

java - Struts 2 中的澄清

java - 使用 JDBC 的 Spring3 Security 上下文初始化失败!

eclipse - Eclipse 中的 Maven : step by step installation

java - 我如何/我可以从 Eclipse 升级 Java?

javascript - JavaScript 中的时间/小时语法 - 如何处理不在整点的时间