Bonjour,
Bon la question peut s'appliquer à plusieurs langages je suppose, m'enfin en l'occurrence je suis en Java.
J'ai une variable x de type long que j'ai besoin de caster en int.
Donc forcément, j'ai Long.MAX_VALUE > Integer.MAX_VALUE. Donc possible perte.
Mais si je m'assure que x <= Integer.MAX_VALUE, est-ce que je peux faire un cast tranquillement sans répercutions ? Suis-je assuré que la valeur ne sera pas modifiée ?
Grossièrement, est-il correct d'écrire :
long x = ...
int y;
if (x <= Integer.MAX_VALUE) {
y = (int) x;
}
Je sais qu'il existe une méthode Math.toIntExact depuis Java 8, cependant je suis sous Java 6, donc indisponible pour moi. 
