0

AFAIKプリミティブがラッパークラスにボックス化されているため、Javaがプリミティブ型を呼び出されたオートボクシングよりもラッパークラスオブジェクトに自動的に変換する場合。

そうです

int test = 3;
String str = String.valueOf(test);

オートボクシングとしてカウントされますか?

尋ねる理由は?

私は最近この質問に出くわしました。私が思う理由は、Java 5で導入されたオートボクシングです(Java 4には存在しません)。

4

6 に答える 6

1

参照タイプとプリミティブの間に「インピーダンスの不一致」がある場合にのみ自動ボックス化

No.

param valueOf付きのメソッド のソースコードを見ると int

 public static String More ...valueOf(int i) {
      return Integer.toString(i, 10);
 }

ToString を呼び出すInteger wrapper

整数ラッパーで作成される新しい文字列 toString()

  public static String More ...toString(int i, int radix) {

       if (radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
            radix = 10;

       /* Use the faster version */
         if (radix == 10) {
            return toString(i);
        }

       char buf[] = new char[33];
       boolean negative = (i < 0);
      int charPos = 32;

       if (!negative) {
            i = -i;
        }

        while (i <= -radix) {
            buf[charPos--] = digits[-(i % radix)];
           i = i / radix;
         }
        buf[charPos] = digits[-i];
        if (negative) {
             buf[--charPos] = '-';
        }

         return new String(buf, charPos, (33 - charPos));
     }
于 2013-08-01T06:57:33.077 に答える