Integerのキャッシュ int がボクシングされると java.lang.Integer になりますが、このとき Integer.valueOf(int) が使われます。 このことは次のようなボクシングされるコードを書いてコンパイルしてからjavapすればよく分かります。 Compiled from "IntBoxingSample.java" public class IntBoxingSample { public IntBoxingSample(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."<init>":()V 4: return public java.lang.Integer boxing(int); Code: 0: iload_1 1: invokestatic #2 // Met