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

时间:2016-01-21 19:04:50

标签: java java-8

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

我尝试写下面的内容,但没有发生投射,

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

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

1 个答案:

答案 0 :(得分:12)

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

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