Java 将Arraylist转换为char[]的最佳方法是什么
我想知道是否有可能通过流API进行转换Java 将Arraylist转换为char[]的最佳方法是什么,java,arraylist,java-8,java-stream,Java,Arraylist,Java 8,Java Stream,我想知道是否有可能通过流API进行转换 List<Integer> li = Arrays.asList(1,2,3,45,678); 要在不进入字符串中间阶段的情况下对[]ch进行char操作?我找不到。我认为最简单的方法是声明一个字符数组,并通过for循环和toArray函数将列表数组保存在char数组中。可能是一种迭代列表并将值分配给数组中相应索引的方法,如下所示: IntStream.range(0, li.size()) .forEach(i ->
List<Integer> li = Arrays.asList(1,2,3,45,678);
要在不进入字符串中间阶段的情况下对[]ch进行char操作?我找不到。我认为最简单的方法是声明一个字符数组,并通过for循环和toArray函数将列表数组保存在char数组中。可能是一种迭代列表并将值分配给数组中相应索引的方法,如下所示:
IntStream.range(0, li.size())
.forEach(i -> ch[i] = (char) li.get(i).intValue());
或者,如果原语不是必须的,则类似于:
Character[] ch = li.stream()
.map(i -> (char) i.intValue())
.toArray(Character[]::new);
我实现了解决方案,但我必须进行中间字符串转换
List<Integer> li = Arrays.asList(1,2,3,45,678);
String Str =li.toString();
char [] ch = new char[Str.length()];
for(int i=0;i<Str.length();i++)
{
ch[i] = Str.charAt(i);
}
for(char cc:ch)
{
System.out.print(cc);
}
输出:[1,2,3,45678]
你的预期产出是多少?