コンパイラまたはランタイムはオートボクシング/アンボックス化ですか?オートボクシング/アンボックスは誰が行いますか?
public Integer get() {
return 1; //(1)
}
において(1)、プリミティブ整数値new Integer(1)
ようなものに変換され、返される。
は、以下の例を考えます。それは実質的に自動ボクシングと呼ばれる暗黙のコンセンサスですが、それは誰が行いますか?コンパイラ、またはJVM?
私はちょうどASMを学び始めたばかりでした。そのようなボクシングの問題は本当に私を混乱させます。
これを考慮してください: int a = myScan.nextInt(); 整数b = a; コンパイラはどのような値を持つかを知ることなく、どのようにこれを行いますか? – Stultuske
@Stultuskeコンパイラは 'Integer b = Integer.valueOf(a);'になります。シンプル。 'a'の値を知る必要はありません。この質問に対する受け入れられた回答も参照してください。 –