当前位置:  开发笔记 > 编程语言 > 正文

Java中变量或方法的最大名称长度

如何解决《Java中变量或方法的最大名称长度》经验,为你挑选了3个好方法。

Java中的类/方法/变量名称是否有最大长度?JLS似乎没有提到这一点.我知道很长的名字无论从代码可读性和可维护性的角度来看都是有问题的,但出于好奇是有限制的(我想类名可能受到文件系统最大文件名限制的限制).



1> Uri..:

如果我没有弄错,那么限制不是语言本身,而是类文件格式,它将名称限制为64k,因此对于所有实际意图和目的,标识符长度不是问题.具体来说,这是池中常量字符串的定义,这似乎意味着最大长度为16位:

CONSTANT_Utf8_info {
    u1 tag;
    u2 length;
    u1 bytes[length];
}

类名可能更适合文件系统,我同意,我不确定目前支持的是什么.



2> talg..:

对不起,实际上在JLS中找到了答案:http: //java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625 似乎标识符名称的长度不限.

还发现了类似的问题(虽然它没有出现在我的初始搜索中,或者当我输入奇怪的问题标题时):最大方法名称长度


Main.java:1:字符串“ aaaaaaaaaaaaaaaaaaaaaaaa ...”的UTF8表示对于常量池来说太长了
这是针对该语言的,但类文件格式更具限制性.

3> TofuBeer..:

如果超过VM对方法名称施加的大小限制,则会出现编译器错误(至少使用我正在使用的javac版本):

Main.java:1:字符串"aaaaaaaaaaaaaaaaaaaa ..."的UTF8表示对于常量池太长

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有