我们使用域名命名包名时有可能回遇到域名包含连字符或它是 java 关键字的情况,这时怎样解决呢?官方文档对这个问题给出了具体的解决方案。
例如域名是:it-mob.cn,或 int.itmob.cn
介绍
Java 的官方文档关于命名包名的是这样介绍的:
## Naming Conventions
Package names are written in all lower case to avoid conflict with the names of classes or interfaces.
Companies use their reversed Internet domain name to begin their package names—for example, com.example.mypackage for a package named mypackage created by a programmer at example.com.
包名全部使用小写字母,以避免与类或接口的名称冲突。
公司使用颠倒的域名来开始他们的包名,例如:com.example.mypackage 是由 example.com 的程序员创建的名为 mypackage 的包。
官方文档之后也介绍了包名中包含特殊字符的情况,比如:域名包含连字符 -
或其他字符的情况,或包含 Java 保留的关键字(如:int)
这时官方建议添加下滑线来处理这种情况:
In some cases, the internet domain name may not be a valid package name. This can occur if the domain name contains a hyphen or other special character, if the package name begins with a digit or other character that is illegal to use as the beginning of a Java name, or if the package name contains a reserved Java keyword, such as "int". In this event, the suggested convention is to add an underscore. For example:
如下是各种特殊情况的处理:
域名 | 包名 |
hyphenated-name.example.org | org.example.hyphenated_name |
example.int | int_.example |
123name.example.com | com.example._123name |
总结
如上官方文档的介绍 Java 和 Kotlin 项目的包名可以包含下划线,用于处理命名包名时的一些特殊情况。