我正处于一个Android项目的中间,并试图在其中创建一个新包。
com.mycompany.myprojectname.new
好吧,Eclipse不允许我创建它并显示此错误:
包名无效。 'new'不是有效的Java标识符
我从来不知道包名有保留字,我们无法使用。我的问题是;
答案 0 :(得分:30)
是的,这是一般的Java事物。
list of reserved words can be found here。他们是:
abstract continue for new switch assert default goto package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum instanceof return transient catch extends int short try char final interface static void class finally long strictfp volatile const float native super while
如果在package naming tutorial以及其他地方找到保留字,则无法在包名中使用这一事实的文档。
权威来源(一如既往)the Java Language Specification,具体来说:
标识符不能与关键字(§3.9),布尔文字(§3.10.3)或空文字(§3.10.7)具有相同的拼写(Unicode字符序列),或者发生编译时错误。
答案 1 :(得分:1)
new
是一个java关键字。使用其他一些词而不是它。
答案 2 :(得分:1)
请参阅此处的文档:
http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
在某些情况下,互联网域名可能不是有效的套餐 名称。如果域名包含连字符或其他,则会发生这种情况 特殊字符,如果包名以数字或其他开头 用作Java名称开头的非法字符,或 如果包名称包含保留的Java关键字,例如" int"。
答案 3 :(得分:0)
YMMV 但要小心命名包 target
;可能会弄乱你的代码库和/或 IDE