Java List<Object> 转为List<实体类>
时间: 2023-11-11 18:55:16 浏览: 211
可以使用Java8的Stream API和Lambda表达式来完成该转换操作。假设要将List<Object>转换为List<Person>,其中Person是一个实体类。
首先,需要创建一个Person类,定义它的属性和构造方法,例如:
```
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getters and setters
}
```
然后,可以使用Stream API和Lambda表达式来将List<Object>转换为List<Person>。代码如下:
```
List<Object> objects = new ArrayList<>();
objects.add(new Person("Alice", 20));
objects.add(new Person("Bob", 30));
objects.add(new Person("Charlie", 40));
List<Person> persons = objects.stream()
.map(obj -> (Person) obj)
.collect(Collectors.toList());
```
上述代码中,首先使用Stream API的map()方法将List<Object>中的每个元素转换为Person类型,然后使用collect()方法将转换后的结果收集到List<Person>中。
需要注意的是,由于List<Object>中的元素类型是Object,因此在使用map()方法进行转换时需要将元素强制转换为Person类型。如果List<Object>中包含的不是Person类型的对象,或者对象不是可转换为Person类型的,转换操作将会抛出ClassCastException异常。因此,在进行转换时需要确保List<Object>中的元素都是Person类型的对象。
阅读全文