最近、Gao Qi の Java 300 チュートリアルを読みました。その中に、Gao 先生が簡単に言及したコード行がありましたが、よく見てみると、そこに含まれる知識ポイントを理解していないと感じました。コードは次のとおりです。次のように: ### リーリー
2 番目の文 Interger.parseInt("234") で、ソース コードを確認しました。
parseInt メソッドが int 型の値を返すことは上で明確に述べられていますが、それを Integer オブジェクトに直接割り当てるにはどうすればよいでしょうか?
別の実験をしてみました
リーリー
結果を見て私は非常に混乱しました。なぜこのようなことが起こったのでしょうか?Mengxin が回答を求めています。ありがとうございます!
初めてですが、どのバージョンの JDK を使用していますか? IDE で Integer i = 1; と書きましたが、最近 JDK8 に更新しましたが、JDK7 でも問題ないと思います。以前のバージョンについては、オートボクシングに関する制限は何ですか。アップグレードしてみてはいかがでしょうか?
JDK 1.5 以降には、このプリミティブ データ型とそのオブジェクト型を自動的に変換する自動パッケージ化および自動アンパック機能があります:
https://docs.oracle.com/javas...
JDK1.5以降、自動ボックス化とアンボックス化が可能になりました
教師のコードは自動ボックス化プロセスであり、Integer は int のパッケージ化クラスです。JDK のバージョンは比較的古いはずです。