May*_*day 0 java arrays list java-8 java-stream
我在 Java 中启动了一些 SQL 查询,它会返回一些如下所示的数据:
[ ID ,Description,WhateverColumn,...,..., ImportantNumber ]
样本:
[ 1 ,"Desc",...,..., 1 ]
[ 1 ,"Desc",...,..., 2 ]
[ 1 ,"Desc",...,..., 3 ]
[ 2 ,"Desc",...,..., 1 ]
[ 3 ,"Desc",...,..., 3 ]
[ 3 ,"Desc",...,..., 5 ]
我正在使用以下列表将其存储在内存中:
List<Object[]> myList = queryLaunched(...);
Run Code Online (Sandbox Code Playgroud)
后来,我希望做一些操作这个List的Object[]:
[[1,"Desc",...,...,1],[1,"Desc",...,...,2],...]
我正在尝试通过以下方式使用 stream.map :
myList.stream().map(item -> System.out.println(item.toString()));
Run Code Online (Sandbox Code Playgroud)
但我只是收到这个错误:
类型不匹配:无法转换
Stream<Object>为void
无论我在 google 的哪个地方看,我都只能找到用 制作的样品List<Class>,而不是用List<Object[]>.
我怎样才能打印,因此,在它之后,开始对该列表中的每个项目进行操作?
map用于将 a 转换Stream<TypeA>为 a Stream<TypeB>。为了打印元素,不要使用map.
您可以使用终端操作:
myList.stream().forEach(item -> System.out.println(Arrays.toString(item)));
Run Code Online (Sandbox Code Playgroud)
或中间操作(可以跟随附加操作):
myList.stream().peek(item -> System.out.println(Arrays.toString(item)))... ;
Run Code Online (Sandbox Code Playgroud)
由于您的元素是数组,您应该使用System.out.println(Arrays.toString(item)).
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |