18

我在一个 android 项目的中间,并试图在其中创建一个新包。

com.mycompany.myprojectname.new

好吧,Eclipse 不允许我创建它并显示此错误:

包名无效。'new' 不是有效的 Java 标识符

我从来不知道包名有保留字,我们不能使用。我的问题是;

  1. 这是Eclipse的事情吗?还是Java的东西?我尝试了一个纯 Java 项目(不是 Android),只是为了检查,但我也遇到了同样的错误。
  2. 还有哪些不允许的保留字?
  3. 有这方面的文件吗?
4

4 回答 4

39

是的,这是一般 Java 的事情。

保留字列表可在此处找到。他们是:

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

如果在包命名教程等地方找到保留字不能在包名称中使用这一事实的文档。

权威来源(一如既往)是 Java Language Specification,特别是:

于 2012-11-07T12:00:30.820 回答
2

请参阅此处的文档:

http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html

在某些情况下,互联网域名可能不是有效的软件包名称。如果域名包含连字符或其他特殊字符,如果包名以数字或其他非法用作 Java 名称开头的字符开头,或者 如果包名包含保留的 Java 关键字,则会发生这种情况,比如“int”。

于 2012-11-07T12:00:44.123 回答
1

new是一个java关键字。用其他词代替它。

于 2012-11-07T12:00:34.133 回答
0

YMMV 但要小心命名包target;可能会弄乱您的代码存储库和/或 IDE

于 2021-01-12T08:27:23.707 回答