Java -Eviter une exception sur un cast
12 avr. 2016
Ayant fait auparavant du développement C#, j'utilisais une méthode TryParse qui permet de faire un cast sur une chaine de caractère et ne pas péter une exception si l'opération échoue. En C# on le fait comme cela
Mais en Java il n'existe pas d'équivalent car les mots clés contextuels out/ref sont abscents dans cette technologie.
En effet en Java tout est passé par valeur. Mais ce point fait parti d'un autre débat...
Afin de ne pas avoir d'exception en Java quand le cast ne fonctionne pas on peut faire cela
blog comments powered by Disqus
int number;
bool resultCast = Int32.TryParse(valueToCast, out number);
// number contient le cast en Int de valueToCast
// resultCast définit si le cast a échoué
Mais en Java il n'existe pas d'équivalent car les mots clés contextuels out/ref sont abscents dans cette technologie.
En effet en Java tout est passé par valeur. Mais ce point fait parti d'un autre débat...
Afin de ne pas avoir d'exception en Java quand le cast ne fonctionne pas on peut faire cela
private boolean tryParseInt(String value) {
try {
Integer.parseInt(value);
return true;
} catch (NumberFormatException e) {
return false;
}
}
String valueToCast = "gordon";
int resultCast = 0;
if(tryParseInt(valueToCast))
{
resultCast = Integer.parseInt(valueToCast)
}