Pregunta ¿Se permiten guiones bajos en literales numéricos en Java?


¿Puedes usar guiones bajos en números en Java? Vi este código en un blog y funciona, pero ¿seguirá funcionando en el futuro? ¿Es una característica o un error?

long oneBillion = 1_000_000_000L;

5
2018-05-19 19:03


origen


Respuestas:


Es una característica, nueva en Java 7. Puede confiar en que quedará. Sin embargo, hay algunas restricciones; ver la documentación.


6
2018-05-19 19:03



Java 7 admite la característica de tener guiones bajos en los literales numéricos para mejorar la legibilidad de los valores que se asignan.

pero el uso del subrayado está restringido a estar entre dos dígitos numéricos, es decir, no al principio o al final de los valores numéricos, sino que debe estar confinado entre dos dígitos, no debe ser un prefijo a l, f usado para representar valores largos y flotantes y no entre los prefijos radix también.


1
2018-05-19 19:15



tl; dr

¿Puedes usar guiones bajos en números en Java?

Sí.

Úselo en literales numéricos: int, long, float, double y más para agrupar dígitos como desee.

Funciona con notación binaria, decimal, octal y hexadecimal.

¿Seguirá funcionando en el futuro?

Sí.

Funciona en Java 7, Java 8, Java 9 y versiones posteriores.

¿Es una característica o un error?

Característica.

Detalles

Sí, estás usando un función agregada en Java 7, y continuó en Java 8 y Java 9.

Puede usar un guion bajo entre los dígitos. Incluso puede usar un grupo de múltiples guiones bajos entre dígitos, si así lo desea. Puede usarlos en números enteros (enteros) y en números fraccionarios (float, double). En un número fraccionario, puede usarlos en uno o en ambos lados del punto decimal.

Puede usarlos en los números hexadecimal (base 16), binario (base 2) y octal (base 8), así como los números de la base 10.

Puede agrupar cualquier número de dígitos como mejor le parezca.

El propósito es estrictamente legibilidad por los humanos. Java no ve significado en los guiones bajos. La presencia o ausencia de los guiones bajos en un literal numérico tiene no Efecto en tu código.

Leer Esta media página de documentación. para ver algunos ejemplos útiles de usos correctos e incorrectos.


0
2017-11-17 19:12