Parce que je crois que c'est une bonne pratique de programmation, je fais en sorte que toutes mes variables (locales ou d'instance) soient final
s'ils sont destinés à n'être écrits qu'une seule fois.
Cependant, je remarque que lorsqu'une assignation de variable peut lever une exception, vous ne pouvez pas rendre cette variable finale :
final int x;
try {
x = Integer.parseInt("someinput");
}
catch(NumberFormatException e) {
x = 42; // Compiler error: The final local variable x may already have been assigned
}
Existe-t-il un moyen d'y parvenir sans avoir recours à une variable temporaire ? (ou est-ce que ce n'est pas le bon endroit pour un modificateur final ?)