当前位置: 首页 > 知识库问答 >
问题:

ClassCastException:[ljava.lang.Object;与[ljava.lang.String不兼容;

胡夕
2023-03-14

我试图从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())]);
    }
}

共有1个答案

邹博裕
2023-03-14

试试这个:

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

不接受参数的ToArray方法返回对象[],该对象不能强制转换为字符串[]。另一个版本返回类型化数组。

 类似资料:
  • 问题内容: 我需要将HashMap转换为String数组,以下是我的Java代码 当我运行代码时,得到以下内容。 问题答案: 返回,而不管泛型。您可以改用重载的变体: 另外,由于的方法不能保证顺序,并且您使用数组进行的所有操作都会打印出值,因此可以直接迭代: 编辑:只是为了完成图片,在Java 8中,该方法可用于使代码更加优雅:

  • 问题内容: 我正在使用来自AJAX发布请求的回调来导航到新页面,但是在Internet Explorer上不起作用。我的代码如下: 这在FF / Safari / Chrome上正常运行,但是当我在IE上对其进行测试时,它不起作用。是否有更好的方法重定向到新页面?我正在使用,因为如果我不使用回调,则数据不会加载到Chrome / Safari上,因为在请求完成之前页面只会更改。 问题答案: 是括号

  • 我有一个关于JavaAPI中Akka 2.0.1的问题。我有以下情况: 参与者A:从UI接收请求。然后它将执行以下操作。 等待来自UI的消息 发送msg到Actor B,以检索数据 成为一个演员,当从演员B那里得到答案时,处理它。 演员B: 等待演员A的消息 检索数据 调用; 这不起作用,演员甲也不会得到答案。然而,如果Actor B在系统中使用全局actorRef到Actor A,在我的情况下z

  • 问题内容: 我有一个带有setter和getter方法的字符串数组,这是我表单中的一个复选框。我试图获取检查值,并且在打印时得到上述结果。 我尝试了该方法,但它仍然打印相同的内容。 然后,我执行以下操作: 我也尝试过和 那么,我怎么读这个字符串呢? 问题答案: 如果提供数组,则该方法 有效 。输出 是 (之后的数字几乎总是不同的) 请告诉我们退货类型

  • 这是我在为特定应用程序启动tomcat时遇到的错误。 在格式化系统之前,我经常使用相同的应用程序。 谁能给我解释一下这个例外的原因。 谢谢 桑迪普

  • 问题内容: Websphere v8.5.5开箱即用地支持JPA 2.0 。 我正在尝试将WAR部署到Websphere v8.5.5应用程序服务器。我的persistence.xml指定为JPA提供程序。 我还设置了JPA属性: 如本PDF演示文稿和本IBM主题中所述 我的应用程序设置为“ Parent Last”类加载策略,并且在WEB-INF / lib目录中包含以下JAR: hiberna

  • 在IntelliJ 202.2的最后更新后,我得到错误: 插件“Lombok”不兼容(直到build 201.SNAPSHOT) 我一直在寻找这个问题,但似乎我是唯一一个有这个IntelliJ版本问题的人。

  • 我为记录创建了一个Avro模式,我们将其发布到Kafka主题中。我们实际的Kafka记录模式更复杂,但为了简洁起见,我只附上了相关部分。我们在记录中有多个嵌套子类,但由于某些原因,我在尝试发布记录时遇到以下异常(包名称已被掩盖): 这是我定义的Avro模式的当前子集。 我们的对象(KafkaRecord)的JSON表示如下: 我似乎不明白为什么Avro不喜欢这个嵌套的记录,我更喜欢不剥离这些嵌套的