java.lang.Double オブジェクトが、コンストラクターへの呼び出しを使用せずにプリミティブを使用して初期化されるとどうなりますか? 動作しているように見えますが、その理由はよくわかりません。コンパイラで何らかの暗黙の変換が行われていますか? これはJava 5を使用しています。
public class Foo {
public static void main(String[] args) {
Double d = 5.1;
System.out.println(d.toString());
}
}