Da ich glaube, dass es eine gute Programmierpraxis ist, mache ich alle meine (lokalen oder Instanz-) Variablen final
, wenn sie nur einmal geschrieben werden sollen.Endgültige Variablenzuweisung mit try/catch
Allerdings merke ich, dass, wenn eine variable Zuordnung eine Ausnahme auslösen, können Sie kann nicht gesagt machen Variable final:
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
}
Gibt es eine Möglichkeit, dies zu einer temporären Variablen ohne Rückgriff zu tun? (oder ist dies nicht der richtige Ort für einen endgültigen Modifikator?)
Ich bezweifle, dass Sie dies ohne eine temporäre Variable tun können. – NPE
'final int x = makeX();' definitiv. (try-catch in function) –
Erschreckend, dass das JDK [noch kein 'tryParse' hat] (http://stackoverflow.com/questions/1486077/java-good-way-to-encapsulate-integer-parseint) . –