new Double(double) の使用は、常に新しいブジェクトになることが保証されています。 これに対して、Double.valueOf(double) は、コンパイラ、クラスライブラリ、Java 仮想マシンで値がキャッシュされます。 キャッシュに格納された値を使うことはインスタンス生成を回避し、コードはより高速になります。

クラスが J2SE 5.0より前の Java 仮想マシンとの互換性が不要なら、オートボクシングか DoubleFloatvalueOf メソッドを使用してください。