1

リンクされたハッシュセットからランダムな要素を取得しようとしています。以下は私のコードですが、毎回例外が発生しています。

private static void generateRandomUserId(Set<String> userIdsSet) {

    Random rand = new Random(System.currentTimeMillis());
    String[] setArray = (String[]) userIdsSet.toArray();
    for (int i = 0; i < 10; ++i) {
        System.out.println(setArray[rand.nextInt(userIdsSet.size())]);
    }
}

以下は私が得ている例外です-

java.lang.ClassCastException: [Ljava.lang.Object; incompatible with [Ljava.lang.String;

誰でもこれについて私を助けることができますか? そして、これを行うためのより良い方法はありますか?

4

1 に答える 1

11

これを試して:

String[] setArray = userIdsSet.toArray(new String[userIdsSet.size()]);

toArray引数を取らないメソッドは、Object[]にキャストできない を返しますString[]。他のバージョンは、型付き配列を返します。

于 2013-06-19T21:31:46.093 に答える