"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je lancer en toute sécurité Long vers Int en Java ?

Comment puis-je lancer en toute sécurité Long vers Int en Java ?

Publié le 2024-11-09
Parcourir:112

How Can I Safely Cast Long to Int in Java?

Casting en toute sécurité de Long en Int en Java : une solution complète

Lorsque vous travaillez avec des types numériques en Java, il est crucial de s'assurer que la conversion les opérations n’entraînent pas de perte de données. Ceci est particulièrement important lors de la conversion de valeurs longues en int, car la précision de long peut dépasser celle de int.

Java 8 : Simplifier le processus

Avant Java 8 , la conversion en toute sécurité de long en int nécessitait une vérification fastidieuse pour vérifier que la conversion ne modifiait pas la valeur. Cependant, avec l'introduction de Java 8, une nouvelle méthode a été ajoutée pour rationaliser ce processus :

import static java.lang.Math.toIntExact;

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

La méthode toIntExact lève une ArithmeticException si la conversion entraîne un débordement, garantissant ainsi le maintien de l'intégrité des données.

Méthodes supplémentaires sécurisées contre les débordements.

Java 8 a également introduit plusieurs autres méthodes sécurisées contre les débordements. Ces méthodes se terminent toutes par « exact » et fournissent les fonctionnalités suivantes :

  • Math.incrementExact(long) : incrémente une valeur longue de un.
  • Math.subtractExact(long, long ) : Soustrait une valeur longue d'une autre.
  • Math.decrementExact(long) : Décrémente une valeur longue de one.
  • Math.negateExact(long) : annule une valeur longue.
  • Math.subtractExact(int, int) : soustrait une valeur int d'une autre.

Conclusion

En utilisant la méthode toIntExact et d'autres méthodes sécurisées contre les débordements ajoutées dans Java 8, les développeurs peuvent Convertissez en toute confiance des valeurs longues en int sans sacrifier la précision des données. Ceci est crucial pour maintenir l’intégrité des calculs numériques et garantir la fiabilité du code.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3