Java包命名合法语法规则

标签 java

请注意,我不是在询问 Java package naming conventions .

例如,Java does not legally allow package names to start with a number .

然而,the official Java docs似乎没有涵盖管理包名称中可以使用或不能使用的内容的实际规则。

合法的包名集是什么?

最佳答案

它是一个Java标识符,后面跟着N(句点+标识符)。

PackageDeclaration:
{PackageModifier} package Identifier {. Identifier} ;

https://docs.oracle.com/javase/specs/jls/se16/html/jls-7.html#jls-7.4

标识符是(包括一些嵌套定义):

Identifier:
IdentifierChars but not a Keyword or BooleanLiteral or NullLiteral

IdentifierChars:
JavaLetter {JavaLetterOrDigit}

JavaLetter:
any Unicode character that is a "Java letter"

JavaLetterOrDigit:
any Unicode character that is a "Java letter-or-digit"

A "Java letter" is a character for which the method Character.isJavaIdentifierStart(int) returns true.

A "Java letter-or-digit" is a character for which the method Character.isJavaIdentifierPart(int) returns true.

https://docs.oracle.com/javase/specs/jls/se16/html/jls-3.html#jls-Identifier

关于Java包命名合法语法规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67336040/

相关文章:

java - Set的映射需要Id吗?

java - 如何使用流重写嵌套列表的查找功能

java - 无法创建与数据库服务器的连接。尝试重新连接 3 次。放弃

java - 如何重新定位小程序查看器窗口?

java - 如何在微调器android中设置 boolean 值?

Java饥饿实现的单例模式

java - Spring LDAP : Connection reset by peer

java - 无法通过 Netty 从服务器向客户端发送消息

java - 最简单的客户端-服务器中的连接重置异常

Java:J进度条