java将list<Object>转为list<Object>对象
时间: 2023-09-11 15:07:09 浏览: 137
要将一个 `List<Object>` 转换为 `List<Object>`,你可以使用 Java 8 的流操作和类型转换。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Object> list1 = new ArrayList<>();
list1.add("Hello");
list1.add(123);
list1.add(true);
List<Object> list2 = list1.stream()
.map(obj -> (Object)obj)
.toList();
System.out.println(list2);
}
}
```
在这个示例中,我们首先创建了一个 `List<Object>`,并向其中添加了不同类型的元素。然后,我们使用流的 `map` 操作将每个元素转换为 `Object` 类型,最后使用 `toList` 方法将流转换为 `List<Object>`。
运行上述代码,你会得到一个与原始列表相同的 `List<Object>` 对象。
相关问题
Java List<Object> 转为List<实体类>
可以使用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类型的对象。
如何将List<Object>转为List<String>
要将`List<Object>`转换为`List<String>`,可以使用Java 8的Stream API以及`map方法进行转换。下面是一个示代码:
```java
List<Object> objectList = new ArrayList<>();
objectList.add("Hello");
objectList.add("World");
objectList.add(123);
List<String> stringList = objectList.stream()
.map(Object::toString)
.collect(Collectors.toList());
```
在上面的示例中,我们首先创建一个`List<Object>`对象,并向其中添加了不同类型的元素,包括字符串和整数。
然后,我们使用`stream()`方法将该列表转换为一个流(Stream)。接着,使用`map()`方法将每个元素转换为字符串,通过`Object::toString`方法引用来实现。
最后,使用`collect(Collectors.toList())`将转换后的元素收集到一个新的`List<String>`中。
这样,我们就成功将`List<Object>`转换为了`List<String>`。请注意,如果`List<Object>`中的元素类型无法转换为字符串,可能会引发`ClassCastException`异常。因此,在进行转换时,请确保列表中的每个元素都能安全地转换为字符串类型。