【发布时间】:2011-05-20 14:27:17
【问题描述】:
可能的重复:
Does Java have a limit on the class name length?
Max name length of variable or method in Java
Java.Variable name length.
我很笨,我知道,对不起...
我创建了这个问题Java.Variable name length, 但这里非常糟糕的例子...... 所以,我尝试创建新问题, 我有这门课:
class Test
{
int i=10;
public static void main(String args[])
{
System.out.println(new Test());
}}
其中变量名不是“i”而是“iiiiiii....”,长度为 65535 个字符(iiiiiiiiii...)
.class 文件与 .java 文件大小相同。 编译 - 成功。
但是,当 i>65535chars - Exception: UTF8 representation for string "iiiiiiiiiiiiiiiiiiii..." is too long for the constant pool
宾果游戏!
我们能得出什么结论?
无限长度 - 不是 100% 正确。
但我发现一些信息表明它的问题不是 java 语言 - 它是类文件的一些问题,所以有人知道:谁的问题?
【问题讨论】:
-
我认为他的意思是,变量名不是 'i' 而是 'iiiiiii....',长度为 65535 个字符。
-
@Vladimir Ivanov, спасибо, дружище
-
那么问题是什么?为什么你认为变量名的长度是无限的?
-
因为,我读过文档:标识符是 Java 字母和 Java 数字的无限长度序列