"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo convertir de forma segura Long a Int en Java?

¿Cómo puedo convertir de forma segura Long a Int en Java?

Publicado el 2024-11-09
Navegar:533

How Can I Safely Cast Long to Int in Java?

Conversión segura de Long a Int en Java: una solución integral

Cuando se trabaja con tipos numéricos en Java, es fundamental garantizar que la conversión Las operaciones no resultan en pérdida de datos. Esto es especialmente importante al convertir valores largos a int, ya que la precisión de long puede exceder la de int.

Java 8: simplificando el proceso

Antes de Java 8 , convertir de forma segura long a int requirió una tediosa verificación para verificar que la conversión no alterara el valor. Sin embargo, con la introducción de Java 8, se agregó un nuevo método que agiliza este proceso:

import static java.lang.Math.toIntExact;

long foo = 10L;
int bar = toIntExact(foo);

El método toIntExact genera una excepción ArithmeticException si la conversión resulta en un desbordamiento, lo que garantiza que se mantenga la integridad de los datos.

Métodos adicionales a prueba de desbordamientos

Java 8 también introdujo varios otros métodos seguros contra desbordamientos. Todos estos métodos terminan en "exacto" y proporcionan la siguiente funcionalidad:

  • Math.incrementExact(long): incrementa un valor largo en uno.
  • Math.subtractExact(long, long ): Resta un valor largo de otro.
  • Math.decrementExact(long): Disminuye un valor largo en uno.
  • Math.negateExact(long): Niega un valor largo.
  • Math.subtractExact(int, int): Resta un valor int de otro.

Conclusión

Utilizando el método toIntExact y otros métodos de desbordamiento Con métodos seguros agregados en Java 8, los desarrolladores pueden convertir con confianza valores largos a int sin sacrificar la precisión de los datos. Esto es crucial para mantener la integridad de los cálculos numéricos y garantizar la confiabilidad del código.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3