Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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 如何获取列表<;字符串>;从列表<;对象[]>;通过将数组的第一个元素转换为字符串_Java_Java 8 - Fatal编程技术网

Java 如何获取列表<;字符串>;从列表<;对象[]>;通过将数组的第一个元素转换为字符串

Java 如何获取列表<;字符串>;从列表<;对象[]>;通过将数组的第一个元素转换为字符串,java,java-8,Java,Java 8,如何通过将数组的第一个元素转换为字符串从List获取List 我试着像下面这样写,但演员没有出现 List<String> results = query.getResultList() .stream() .map(result ->{ Object[] temp = (Object[]) result; return temp[0].toString(); }) .collect(Collectors.toList()); List results=query.g

如何通过将数组的第一个元素转换为字符串从
List
获取
List

我试着像下面这样写,但演员没有出现

List<String> results = query.getResultList()
.stream()
.map(result ->{
 Object[]  temp =  (Object[]) result;
 return temp[0].toString();
})
.collect(Collectors.toList());
List results=query.getResultList()
.stream()
.map(结果->{
对象[]临时=(对象[])结果;
返回温度[0]。toString();
})
.collect(Collectors.toList());
下图显示了结果列表的类型 我得到错误:java:不兼容的类型:java.lang.Object无法转换为java.util.List。 如何使用Java 8正确执行此操作?

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

List results=((List)query.getResultList())
.stream()
.map(结果->结果[0].toString())
.collect(Collectors.toList());
query.getResultList()
返回原始列表。正如@Makoto在评论中提到的,尝试使用类型安全API。 但是,如果您打算使用当前的API,请添加类型转换(这将生成警告)

List results=((List)query.getResultList())
.stream()
.map(结果->结果[0].toString())
.collect(Collectors.toList());

在此备份两个步骤。首先,
getResultList()
的精确结果是什么?第二,您使用什么框架来执行这些查询(JPA、Hibernate),您可以使用类型安全的方法吗?如果您想要一个列表,为什么只返回第一个元素?Groovy?你说的“不铸造”是什么意思?发生了什么?如果只需要一个字段,为什么要查询多个字段?问题是什么?我看是对的。怎么了?退后两步。首先,
getResultList()
的精确结果是什么?第二,您使用什么框架来执行这些查询(JPA、Hibernate),您可以使用类型安全的方法吗?如果您想要一个列表,为什么只返回第一个元素?Groovy?你说的“不铸造”是什么意思?发生了什么?如果只需要一个字段,为什么要查询多个字段?问题是什么?我看是对的。发生了什么?
List<String> results = ((List<Object[]>) query.getResultList())
.stream()
.map(result -> result[0].toString())
.collect(Collectors.toList());