如何通过将数组的第一个元素转换为String来从List <Object []>获取List <String>

tej*_*905 -1 java java-8

如何获得List<String>List<Object[]>由数组的第一个元素转换为字符串?

我尝试写下面但是没有发生铸造,

List<String> results = query.getResultList()
.stream()
.map(result ->{
 Object[]  temp =  (Object[]) result;
 return temp[0].toString();
})
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

下图显示了结果列表的类型 在此输入图像描述 我收到错误:java:不兼容的类型:java.lang.Object无法转换为java.util.List.如何使用Java 8正确执行此操作?

Mri*_*nal 13

query.getResultList()返回原始列表.正如@Makoto在评论中所提到的,尝试使用类型安全的API.但是如果您打算使用当前的API,请添加类型转换(虽然会生成警告).

List<String> results = ((List<Object[]>) query.getResultList())
.stream()
.map(result -> result[0].toString())
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)