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

Eug*_*atz 36 java name-length

这个问题出现在Spring类中,它有一些相当长的类名.类名长度的语言是否有限制?

Rob*_*anu 50

Java语言规范指出标识符的长度不受限制.

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

  • Java VM规范规定任何常量字符串限制为65535字节:http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#88659 (6认同)
  • @EJP链接,好吗? (3认同)

Jon*_*Jon 33

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

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

这里:

http://docs.oracle.com/javase/specs/jvms/se5.0/html/ClassFile.doc.html#88659

  • 65535是JVM的限制,而不是语言本身 (10认同)