Java 对类名长度是否有限制?

2022-09-01 04:16:12

这个问题出现在春季班上,它有一些相当长的类名。语言中对类名长度是否有限制?


答案 1

Java 语言规范规定标识符的长度不受限制。

但实际上,文件系统将限制生成的文件名的长度。


答案 2

我相信65535个字符。从 Java 虚拟机规范中:

字段和方法名称、字段和方法描述符以及其他常量字符串值的长度由 CONSTANT_Utf8_info 结构的 16 位无符号长度项限制为 65535 个字符 (§4.4.7)。请注意,限制是编码中的字节数,而不是编码字符数。UTF-8 使用两个或三个字节对某些字符进行编码。因此,包含多字节字符的字符串受到进一步约束。

这里:

https://docs.oracle.com/javase/specs/jvms/se6/html/ClassFile.doc.html#88659


推荐