Hola chicos: me sorprendió al descubrir que el siguiente códigoJava: tamaño de byte de cadena de caracteres Char versus.
System.out.println("Character size:"+Character.SIZE/8);
System.out.println("String size:"+"a".getBytes().length);
Muestra esto:
Tamaño de caracteres: 2
tamaño de la secuencia: 1
lo haría Supongamos que una cadena de caracteres única debe ocupar el mismo (o más) bytes que un solo carácter.
En particular im pregunto ---
Si tengo un bean Java con varios campos en él, cómo su tamaño aumentará dependiendo de la naturaleza de los campos (Carácter, cadena, booleano, vectorial, etc. ..) Supongo que todos los objetos de Java tienen una huella (probablemente mínima) y que una de las más pequeñas de estas huellas sería un solo carácter. Entonces ... Para probar esa suposición básica comencé con el código anterior, y los resultados de las declaraciones impresas parecen contradictorios.
Cualquier idea sobre la forma en que java almacena/serializa caracteres frente a cadenas de forma predeterminada sería muy útil ... gracias.
La longitud de una cadena es el número de caracteres que contiene. Un personaje puede codificarse en más de un byte. – Oded
La cadena probablemente está codificada en UTF-8, por lo que la "a" toma solo un byte. –
[El mínimo absoluto de cada desarrollador de software Absolutamente, definitivamente debe saber acerca de Unicode y juegos de caracteres (Sin excusas!)] (Http://www.joelonsoftware.com/articles/Unicode.html) – Oded