gpt4 book ai didi

java - 使用方法引用将 List 类型 转换为 String[] 数组

转载 作者:行者123 更新时间:2023-11-29 07:24:55 24 4
gpt4 key购买 nike

我正在尝试将整数类型的列表转换为字符串数组。我想使用传递给 toArray() 的方法引用来完成它,如下所示,它必须以某种方式工作,因为我的 CS 教授在类里面向我们展示了这个。

     List<Integer> strawberry = IntStream.rangeClosed(1, 100)
.boxed().collect(Collectors.toList());

String[] plum = strawberry.toArray(String[]::new);

但是我收到以下错误信息:

线程“main”中的异常 java.lang.ArrayStoreException:arraycopy:元素类型不匹配:无法将 java.lang.Object[] 的元素之一转换为目标数组的类型 java.lang.String 在 java.base/java.lang.System.arraycopy( native 方法)

如何解决这个问题?

我知道有更简单的方法可以做到这一点,但我想了解如何正确使用此方法。谢谢。

最佳答案

你需要先映射到一个字符串流:

String[] plum = strawberry.stream()
.map(String::valueOf)
.toArray(String[]::new);

但您可以一步完成:

String[] plum = IntStream.rangeClosed(1, 100)
.mapToObj(String::valueOf)
.toArray(String[]::new);

关于java - 使用方法引用将 List 类型 <Integer> 转换为 String[] 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55106657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com