我想创建一个java包名称,其中一个元素是单词"null"。
Java告诉我这不是一个有效的包:
package org.null.thing;
public class Foo {
public static int addThing(int a, int b) {
return a + b;
}
}
我得到的错误是:
error: <identifier> expected
package org.null.thing;
^
这是在哪里定义的?这是什么原因呢?
问题是 null 根本不允许作为"标识符":
标识符是无限长度的 Java 字母和 Java 数字序列,其中第一个必须是 Java 字母。标识符不能与关键字 (§3.9(、布尔文本 (§3.10.3( 或空文本 (§3.10.7( 具有相同的拼写(Unicode 字符序列(。
因此,org.null.thing
与or.int.string
或其他有趣的想法一样无效。