2010-12-05 3 views
2

가능한 중복 : 내가 바보, 미안, 알고 Max name length of variable or method in Java
Java.Variable name length.
Java. 인스턴스 변수 길이


Does Java have a limit on the class name length?
... 난이 질문 Java.Variable name length을 만들어

, 하지만 여기에 아주 나쁜 예가 ... 그래서, 나는 내가이 클래스가, 새로운 질문을 만들려고 : 변수 이름이 아닌 곳

class Test 
{ 
int i=10; 

public static void main(String args[]) 
{ 
System.out.println(new Test()); 
}} 

은 '내가'하지만 'iiiiiii를 ...'길이 65535 문자로 (iiiiiiiiii ...)

.class 파일의 크기는 .java 파일과 같습니다. 컴파일 - 성공.

하지만, 때> 65535chars - Exception: UTF8 representation for string "iiiiiiiiiiiiiiiiiiii..." is too long for the constant pool

빙고!

우리는 어떤 결론을 내릴 수 있습니까?

무제한 길이 - 100 % 올바르지 않습니다.

하지만 일부 문제는 자바 언어가 아니라 클래스 파일과 관련된 몇 가지 문제점을 알고 있습니다. 누군가 문제를 알고 있습니까?

+3

변수 이름이 'i'가 아니라 'iiiiiii ....'이고 길이가 65535 문자 인 것을 의미한다고 생각합니다. –

+0

@Vladimir Ivanov, спасибо, дружище – user471011

+0

그래서 질문은 무엇입니까? 변수 이름의 길이가 무제한이라고 생각하는 이유는 무엇입니까? – khachik

답변

7

이 질문은 적어도 몇 번 ("Max name length of variable or method in Java", "Does Java have a limit on the class name length?"를) 요청을받은 것으로 보인다.

자바 언어 사양은 상수, 클래스 또는 변수 이름에 제한을 두지 않지만 자바 가상 컴퓨터 사양 (특히 클래스 파일 형식)은 65535 자로 제한됩니다. 마지막 글 머리 기호 항목 인 JVM 사양의 section 4.10을 참조하십시오.

+0

감사합니다. 좋은 답변입니다! – user471011

2

확인. 65534 개 이상의 문자로 변수 이름을 지정할 수는 없습니다. 하지만 누가 신경 쓰냐?

+1

글쎄, 확실하게, * 주석은 주석을 사용할 수 있지만 * my * 코드는 그 자체를 문서화한다. –

+0

아무도 없지만 .... – user471011

+0

@ Reese Moore, 변수 이름 당 65535 개 이상의 문자가 필요합니까? –