よくよく考えるといやなコード
ResultSet rs = null; ・ ・ ・ double foo = rs.getBigDecimal("bar").doubleValue();
SQL文としてnvlとなっていればいいのかもしれないけども、テーブルの定義としてnot nullならいいのかもしれないけども、いやな書き方だ。
むろん、該当カラムに何も入っていない場合、null値のメソッドを呼び出すことになるのでnullPointerExceptionが発生するだろう。
処理速度を遅くしているだけにしか見えないのですが。何でこういう書き方をしなければならないのか知りたいくらいです。
精度が気になるのならそのままBigDecimalで扱えばいいし、doubleとして扱いたければ素直にrs.getDouble("bar")とかとすればいいのに。