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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage