una sirve que para nombre metodo longitud length instrucción funciona definicion cadena java naming specifications name-length

sirve - Longitud máxima del nombre de la variable o método en Java



para que funciona el length en java (3)

¿Hay una longitud máxima para nombres de clase / método / variable en Java? el JLS no parece mencionar eso. Sé que los nombres muy largos son problemáticos de todos modos desde la legibilidad del código y la perspectiva de mantenimiento, pero solo por curiosidad hay una limitación (supongo que los nombres de las clases podrían estar limitados por la limitación máxima del nombre de archivo del sistema de archivos).



Si no me equivoco, el límite no está en el idioma en sí, sino en el formato de archivo de clase, que limita los nombres a 64k, por lo que para todos los intentos prácticos y propósitos, la longitud del identificador no es un problema. Específicamente, esta es la definición de una cadena constante en el conjunto, lo que parece implicar que la longitud máxima es de 16 bits:

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

Los nombres de clases pueden ser un problema mayor para los sistemas de archivos, estoy de acuerdo, no estoy seguro de qué es lo que se admite actualmente.


Si sobrepasa el límite de tamaño impuesto por la VM para los nombres de método, entonces obtiene un error de compilación (al menos con la versión de javac que estoy usando):

Main.java:1: la representación UTF8 para la cadena "aaaaaaaaaaaaaaaaaaaa ..." es demasiado larga para el conjunto constante