Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将Arraylist转换为char[]的最佳方法是什么_Java_Arraylist_Java 8_Java Stream - Fatal编程技术网

Java 将Arraylist转换为char[]的最佳方法是什么

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 ->

我想知道是否有可能通过流API进行转换

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]


你的预期产出是多少?