質問
のは、私が持っていることを次のように言ってみましょう。
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
にあなたのキャストは必要ありません。
所属していません StackOverflow