質問

のは、私が持っていることを次のように言ってみましょう。

int a = 2;
Number b = (Number) a;

System.out.println(b); // Prints 2

のhttp://java.sun .COM /ドキュメント/書籍/ JLS / first_edition / HTML / 15.doc.htmlプリミティブ値を参照型にキャストすることはできませんと言っているの#238146。 Javaは、プリミティブint型の整数を作成するために知って、その後、スーパークラスにキャストしていますか?どのように正確にJavaは舞台裏でこれを処理しますか?ありがとう!

役に立ちましたか?

解決

プロセスはオートボクシングすると呼ばれています。要するに、コンパイラはラッパー(Integer)ではなく、プリミティブ(int)が必要であることを認識し、自動的に変換が追加されます。そして、実際にNumberにあなたのキャストは必要ありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top