私は Josh Bloch による効果的な Java を読んでいて、項目 24 に出くわしました: 未チェックの警告を排除します。
その中で、チェックされていない警告を生成するクラスの toArray() メソッドの例を示します。
ArrayList.java:305: warning: [unchecked] unchecked cast
found : Object[], required: T[]
return (T[]) Arrays.copyOf(elements, size, a.getClass());
Object[] を返すことをコンパイラがどのように診断しているかを理解することはできませんか?
その背後にある型消去現象を理解できないかもしれません。
Object[] がどのように返されるのか、誰か説明してもらえますか?
前もって感謝します。