Wie lese ich in JDBC einen möglicherweise Null-Doppelwert aus resultSet?
Ich habe eine Spalte in meiner Datenbank, die eingegeben wirddouble
und ich möchte den Wert mit einem JDBC-ResultSet auslesen, aber er kann null sein. Wie geht das am besten? Ich kann mir drei Optionen vorstellen, von denen keine sehr gut zu sein scheint.
Option 1: Schlecht, weil die Ausnahmebehandlung wortreich und stinkend ist
double d;
try {
d = rs.getDouble(1);
// do something
} catch(SQLException ex) {
if(rs.wasNull()) {
// do something else
} else {
throw ex;
}
}
Option 2: Schlecht, weil zwei Abrufe
s = rs.getString(1); // or getObject()
if(s == null) {
// do something else
} else {
double d = rs.getDouble(1);
// do something
}
Option 3: Schlecht, weil Java statt SQL-Konvertierung
s = rs.getString(1); // or getObject()
if(s == null) {
// do something else
} else {
double d = Double.parseDouble(s);
// do something
}
Irgendwelche Vorschläge, welcher Weg besser ist, oder gibt es einen anderen überlegenen Weg? Und bitte sagen Sie nicht "Ruhezustand verwenden", ich bin nur hier auf JDBC-Code beschränkt.