Java에서 클래스/메소드/변수 이름의 최대 길이가 있습니까? JLS는 그런 언급을하지 않습니다. 어쨌든 코드 가독성과 유지 보수성 관점에서 볼 때 매우 긴 이름이 문제가 있다는 것을 알고 있습니다.하지만 호기심 때문에 제한이 있습니다 (클래스 이름은 파일 시스템의 최대 파일 이름 제한으로 인해 제한 될 수 있습니다).최대 이름 Java에서 변수 또는 메소드의 길이
답변
죄송합니다. 실제로 JLS에서 답변을 찾았습니다. http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625 식별자 이름의 길이는 무제한 인 것으로 보입니다.
또한 비슷한 질문을 발견 (내 초기 검색에 나타나지 않았지만, 아니면 이상한 질문 제목 입력 할 때) : 당신이 방법에 대한 VM에 의해 부과 된 크기 제한을 초과하는 경우 Maximum Method Name Length
내가 잘못하지 않는다면, 제한은 언어 자체가 아니라 클래스 파일 형식으로되어 있기 때문에 이름을 64k로 제한합니다. 따라서 모든 실제 의도와 목적에 따라 식별자 길이는 문제가되지 않습니다.
CONSTANT_Utf8_info {
u1 tag;
u2 length;
u1 bytes[length];
}
클래스 이름은 파일 시스템에 대한 문제가 더있을 수 있습니다, 나는 동의 나 ': 특히이 최대 길이를 의미하는 것으로 보인다 풀에서 상수 문자열의 정의는 16 비트입니다 현재 지원되는 것이 확실하지 않습니다.
이것은 받아 들여진 대답이어야합니다 – Henry
을 상수 풀에 대해 너무 깁니다 "... aaaaaaaaaaaaaaaaaaaa"UTF8 표현 문자열 :
Main.java:1 : 이름은 당신은 (적어도 내가 사용하고 javac의 버전과) 컴파일러 오류
- 1. 최대 길이 이름 클래스
- 2. 변수 이름 길이 줄이기
- 3. VBScript 함수 이름 최대 길이
- 4. JavaScript의 변수 이름의 최대 길이
- 5. 프로그래밍 방식으로 최대 파일 이름 길이 결정
- 6. SQL Server의 최대 데이터베이스 이름 길이
- 7. Django auth : 최대 사용자 이름 길이 늘리기
- 8. 쿠키 이름 길이, 고유성
- 9. openID의 최대 길이
- 10. Java에서 메서드의 최대 크기는?
- 11. 메소드의 변수 유지
- 12. 기하학 필드에서 최대 위도, 최소 위도, 최대 길이, 최소 길이
- 13. 변수 테이블 또는 열 이름
- 14. InnoDB 최대 키 길이
- 15. SQL 쿼리의 최대 길이
- 16. CultureInfo.Name 속성의 최대 길이
- 17. 최대 길이 유효성 검사
- 18. CString 최대 길이
- 19. 최대 식별자 길이
- 20. 이상한 패딩 최대 길이
- 21. SQLAlchemy - 최대 열 길이
- 22. 최대 길이 [NSXMLNode stringValue]
- 23. FromBase64String 방법 최대 길이
- 24. Java에서 메소드의 기본 범위는 무엇입니까?
- 25. Java에서 스택의 push() 메소드의 NullPointerException
- 26. Java에서 addItem과 insertItemAt 메소드의 차이점
- 27. cURL 최대 URL 길이 또는 다른 옵션을 확장 하시겠습니까?
- 28. 런타임에 생성 된 메소드의 매개 변수 이름 및 기본값 설정
- 29. iTerm 2 이름 길이
- 30. PHP와 MYSQL의 최대 가변 길이?
그것은 언어를위한 것이지만, 클래스 파일 형식은 더 제한적입니다. – Uri
언어가 클래스 파일 용으로 컴파일되었다는 것을 고려하면 실제로 상당히 놀랍습니다 ... – Uri
사실, 어리석게 긴 변수 이름을 실제로 만들려고하면 어떤 일이 발생하는지 궁금합니다 – talg