有没有人碰巧知道您选择的编程语言中方法名称的最大长度是多少?我打算将这个问题作为一个特定的C#问题,但我认为在整个范围内了解它会很好.
涉及的因素有哪些:
compiler-construction programming-languages specifications name-length
可能重复:
Java中变量或方法的最大名称长度
我读Java文档,它说"一个变量名可以是任何合法的标识符 - Unicode编码的字母和数字的无限长序列..."C++中的变量名长度取决于编译器周围255个字符,所以这是怎么在java中处理的编译器会在x个字符后截断变量名,如果这是真的那么x是什么?
我很蠢,我知道,对不起......
我创建了这个问题Java.Variable名称长度,但这里非常糟糕的例子...所以,我尝试创建新的问题,我有这个类:
class Test
{
int i=10;
public static void main(String args[])
{
System.out.println(new Test());
}}
Run Code Online (Sandbox Code Playgroud)
其中变量名称不是'i'而是'iiiiiii ....',长度为65535个字符(iiiiiiiiii ...)
.class文件与.java文件的大小相同.编译 - 成功.
但是,当我> 65535chars - Exception: UTF8 representation for string "iiiiiiiiiiiiiiiiiiii..." is too long for the constant pool
答对了!
我们可以得出什么结论?
无限长度 - 不是100%正确.
但我发现一些信息,它的问题不是java语言 - 它有一些classfile的问题,所以有人知道:谁的问题?