実際のソースを見て、解析してみました。 // 問題のコード Double.parseDouble("2.2250738585072012e-308"); これが問題のコードですが、Double.parseDouble()の中身は以下のようになっています。 import sun.misc.FloatingDecimal; public final class Double extends Number implements Comparable<Double> { ... public static double parseDouble(String s) throws NumberFormatException { return FloatingDecimal.readJavaFormatString(s).doubleValue(); } ... } 実際にはsun.misc.Float