Как мне в JDBC прочитать возможно нулевое двойное значение из resultSet?

У меня есть столбец в моей базе данных, который напечатанdouble и я хочу прочитать значение из него с помощью JDBC ResultSet, но он может быть нулевым. Каков наилучший способ сделать это? Я могу придумать три варианта, ни один из которых не кажется очень хорошим.

Вариант 1. Плохо, потому что обработка исключений многословна и вонюча

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

Вариант 2: плохо, потому что две выборки

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

Вариант 3: Плохо, потому что Java, а не преобразование SQL

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

Любые предложения о том, какой путь лучше, или есть другой превосходный путь? И, пожалуйста, не говорите «Использовать Hibernate», я ограничен только кодом JDBC здесь.

Ответы на вопрос(4)

Ваш ответ на вопрос