我正在尝试从linkedhashset中检索随机元素。下面是我的代码,但它每次都给我例外。
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;
任何人都可以帮我这个吗?有没有更好的方法呢?
答案 0 :(得分:11)
试试这个:
String[] setArray = userIdsSet.toArray(new String[userIdsSet.size()]);
toArray
method that takes no arguments会返回无法投放到Object[]
的{{1}}。 other version返回一个类型化数组。