我广泛使用JLS作为学习和教学资源,但我注意到它有一些错误。
有一个简单的错别字(例如JLS 5.1.4“convesions”),但也有一些我认为是非常严重的错误。
例如,JLS 18.1 The Grammar of the Java Programming Language应该是Java语言语法的权威参考,但它包含一个永远不会被使用的生产规则! (例如 MoreStatementExpressions
)。当然,这是给定语法其他部分出现更严重错误的迹象,对吗?
第3版是否有勘误表?会有吗?我们应该向Sun / Oracle发送错误吗?会不会有第4版?
答案 0 :(得分:1)
我能找到的最好的是"Maintenance Review of JSR 901 (Java(tm) Language Specification) for Java SE 7"。
然而,OP关心的问题并不严重......
当然,这是给定语法其他部分出现更严重错误的迹象,对吗?
我对此说“错”。未使用的产品仅仅是印刷/编辑错误。它对Java语法的含义没有任何影响。
FWIW:Oracle的main JLS page没有提及JSR 901修订工作(显然已经完成了!),并且提供了有关JLS的反馈的链接被破坏了。
答案 1 :(得分:1)
我也被JLS第18章中的语法问题所困扰,并且 由JLS其他地方的问题。虽然许多Java程序员可能不会 受到它们的影响,当你建造一个时,这些都不是一件小事 编译器或程序分析工具。
JLS的许多问题已在最新版本中得到修复 JLS(“JLS,Java SE版”或非正式的“JLS第4版”)。 特别是,第18章(Java语法)已经完全 修改和重组。
您可以在Java SE Specifications download page(direct link to JLS PDF)找到最新的JLS。
更新2012年2月18日: 如https://blogs.oracle.com/abuckley/en_US/entry/jls7_and_jvms7_online所述,Java语言的Java SE 7版本 规范和JVM规范现在可在 PDF格式和HTML格式的http://docs.oracle.com/javase/specs/。