请注意,我不是在询问 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/