studio programacion móviles libro desarrollo curso aplicaciones java name-length

programacion - ¿Tiene Java un límite en la longitud del nombre de la clase?



manual de programacion android pdf (4)

65535 caracteres, creo. De la especificación de la máquina virtual de Java:

La longitud de los nombres de campo y método, los descriptores de campo y método y otros valores de cadena constante están limitados a 65535 caracteres por el elemento de longitud sin signo de 16 bits de la estructura CONSTANT_Utf8_info (§4.4.7). Tenga en cuenta que el límite está en el número de bytes en la codificación y no en el número de caracteres codificados. UTF-8 codifica algunos caracteres usando dos o tres bytes. Por lo tanto, las cadenas que incorporan caracteres multibyte están aún más restringidas.

aquí:

http://docs.oracle.com/javase/specs/jvms/se5.0/html/ClassFile.doc.html#88659

Esta pregunta surgió en la clase de primavera, que tiene algunos nombres de clase bastante largos. ¿Hay un límite en el idioma para la longitud de los nombres de clase?


Con JDK 1.5, el límite práctico para nombres de clase en Windows XP con 255 nombres más largos dio errores en el sistema de archivos. Este fue el nombre completo (directorio + paquete + clase).

No he probado JDK 1.6 en Vista o Windows 7, espero que Sun haya fijado el límite NTFS de 8000 o menos.


La especificación del lenguaje Java establece que los identificadores tienen una longitud ilimitada.

Sin embargo, en la práctica, el sistema de archivos limitará la longitud del nombre del archivo resultante.


No. Java no impone ningún límite en el nombre de la clase. Pero si interactúa con otros sistemas (por ejemplo, JNI) es mejor estar en el lado seguro.