Java将list中的Object对象转换为自定义对象
时间: 2024-09-28 11:04:42 浏览: 39
在Java中,如果你想将`List<Object>`类型的列表转换为自定义的对象列表,例如`List<MyCustomClass>`,你可以使用泛型的casting或者遍历并逐一转换每个元素。这里有两种常用的方法:
1. 泛型casting(如果列表中所有元素都是你的自定义类实例)
```java
List<Object> objectList = ...; // 假设objectList已填充
List<MyCustomClass> customList = (List<MyCustomClass>) objectList;
```
注意:这种转换需要`MyCustomClass`是`Object`的直接或间接子类,并且列表中确实只包含`MyCustomClass`类型的对象。否则,这将导致类型安全异常。
2. 遍历转换(适用于不确定类型但可以强制转型的情况)
```java
List<MyCustomClass> customList = new ArrayList<>();
for (Object obj : objectList) {
if (obj instanceof MyCustomClass) { // 检查是否为MyCustomClass类型
customList.add((MyCustomClass) obj);
}
}
```
或者更简洁的方式,如果你确定所有元素都能转换:
```java
customList.addAll(objectList.stream()
.filter(obj -> obj instanceof MyCustomClass)
.map(MyCustomClass::(MyCustomClass)) // 转换并添加到新列表
.collect(Collectors.toList()));
```
阅读全文