java stream获取list中字段属性为long的list
时间: 2024-11-17 19:29:41 浏览: 0
在Java中,你可以使用Stream API来过滤出List中的元素,如果它们的某个字段的值为Long类型。假设我们有一个Person类,它有一个名为age的Long类型的字段,你可以这样做:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
class Person {
private Long age;
// getters and setters...
public Long getAge() {
return age;
}
}
public class Main {
public static void main(String[] args) {
List<Person> people = new ArrayList<>();
people.add(new Person().setAge(25L));
people.add(new Person().setAge(30L));
people.add(new Person());
// 使用Stream API筛选出年龄字段为Long的列表
List<Long> longAges = people.stream()
.filter(Person::getAge != null && Person::getAge instanceof Long)
.map(Person::getAge)
.collect(Collectors.toList());
System.out.println(longAges); // 输出:[25, 30]
阅读全文