List<Object>转List<T>
时间: 2023-10-14 10:08:39 浏览: 106
DataTable转List
要将 `List<Object>` 转换为 `List<T>`,需要进行强制类型转换,并且需要确保 `List<Object>` 中的所有元素都可以转换为 `T` 类型。可以使用 Java 8 中的流式 API 和 lambda 表达式来实现这个转换过程。
例如,我们可以编写一个通用的方法 `convertList`,它接收一个 `List` 对象和一个类型参数 `Class<T>`,并返回一个 `List<T>` 对象:
```java
public static <T> List<T> convertList(List<Object> list, Class<T> clazz) {
return list.stream()
.map(clazz::cast)
.collect(Collectors.toList());
}
```
在这个方法中,我们使用了 Java 8 中的 `stream()` 函数将 `List<Object>` 转换为流对象,接着使用 `map()` 函数将每个元素进行类型转换,并最终使用 `collect()` 函数将流对象转换为 `List<T>` 对象。
我们可以使用这个方法将一个 `List<Object>` 转换为 `List<String>`,例如:
```java
List<Object> objList = new ArrayList<>();
objList.add("Hello");
objList.add("World");
List<String> strList = convertList(objList, String.class);
System.out.println(strList);
```
输出结果为:
```
[Hello, World]
```
阅读全文