0

Java HashSet クラスとその toArray() メソッドを試しています。以下は私が思いついたコードです。コンパイラはエラーを表示しませんでしたが、コードを実行すると、IDE は次のエラー メッセージを出力します。

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;
    at JTOCollection.TheCollectionInterface.main(TheCollectionInterface.java:26)
Java Result: 1

私の経験不足のため、エラーメッセージの背後にある完全な理由を完全に理解することはできません.誰かが私に説明してもらえますか?

Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
set1.add(2);

Integer[] intArray = (Integer[]) set1.toArray();
for(Integer i : intArray){
    System.out.println(i);
}
4

3 に答える 3