Muh*_*jer 6 java multidimensional-array java-8 java-stream
我试图使用以下代码将2D int数组转换为2D String数组:
Arrays.stream(intArray).map(a ->
Arrays.stream(a).map(i ->
Integer.toString(i)).toArray()).toArray(String[][]::new);
Run Code Online (Sandbox Code Playgroud)
但是cannot convert from String to int在做的时候我得到了编译时的错误Integer.toString(i).我以为可能是因为我正在收集int数组中流式传输数据的结果String,但是没有map创建新的Collection?
Dav*_*rad 11
Arrays.stream在int[]返回an IntStream,并从a int到a String或任何其他Object,你必须使用IntStream.mapToObj方法,而不是map方法:
Arrays.stream(intArray).map(a ->
Arrays.stream(a).mapToObj(i ->
Integer.toString(i)).toArray(String[]::new)).toArray(String[][]::new);
Run Code Online (Sandbox Code Playgroud)
该map方法IntStream仅用于从a映射int到a int.
| 归档时间: |
|
| 查看次数: |
331 次 |
| 最近记录: |