W jaki sposób w JDBC odczytać wartość null podwójną wartość z resultSet?

Mam wpisaną kolumnę w mojej bazie danychdouble i chcę odczytać wartość z niego przy użyciu zestawu wyników JDBC, ale może on mieć wartość NULL. Jak najlepiej to zrobić? Mogę wymyślić trzy opcje, z których żadna nie wydaje się bardzo dobra.

Opcja 1: Zła, ponieważ obsługa wyjątków jest pełna i śmierdząca

double d;
try {
   d = rs.getDouble(1);
   // do something
} catch(SQLException ex) {
   if(rs.wasNull()) {
      // do something else
   } else {
     throw ex;
   }
}

Opcja 2: Zła, ponieważ dwa pobrania

s = rs.getString(1); // or getObject()
if(s == null) {
  // do something else
} else {
  double d = rs.getDouble(1);
  // do something
}

Opcja 3: Zła, ponieważ Java zamiast konwersji SQL

s = rs.getString(1); // or getObject()
if(s == null) {
  // do something else
} else {
  double d = Double.parseDouble(s);
  // do something
}

Jakieś sugestie, w jaki sposób jest lepszy, czy jest inny lepszy sposób? I proszę, nie mów „Użyj Hibernacji”, jestem ograniczony tylko do kodu JDBC tutaj.

questionAnswers(4)

yourAnswerToTheQuestion