Lancer Long en Int en toute sécurité en Java
Lancer Long en Int peut potentiellement entraîner une perte d'informations. Pour éviter cela, il est essentiel de vérifier que le casting ne modifie pas la valeur.
Approche traditionnelle :
Une approche courante consiste à lancer un int puis à revenir en arrière. à un long pour vérifier l'égalité. Cependant, cette méthode a une limitation : elle échoue pour les valeurs supérieures à 2^31-1.
Solution Java 8 :
Java 8 a introduit une solution plus robuste : Math.toIntExact(long). Cette méthode lève une ArithmeticException si la conversion entraîne un débordement.
<code class="java">long foo = 10L; int bar = Math.toIntExact(foo); // Throws ArithmeticException on overflow</code>
Autres méthodes anti-débordement :
En plus de toIntExact, Java 8 a également ajouté plusieurs autres méthodes sécurisées contre les débordements qui se terminent par « exact ». Ces méthodes incluent :
L'utilisation de ces méthodes garantit l'intégrité de vos données et évite les débordements d'entiers inattendus.
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!