Maison  >  Article  >  Java  >  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 ?

DDD
DDDoriginal
2024-10-26 13:58:02276parcourir

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 :

<code class="java">import static java.lang.Math.toIntExact;

long foo = 10L;
int bar = toIntExact(foo);</code>

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 anti-débordement

Java 8 a également introduit plusieurs autres méthodes anti-débordement. 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 un.
  • 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 débordements- méthodes sûres ajoutées dans Java 8, les développeurs peuvent en toute confiance convertir 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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn