java获取对象的子_java – 如何根据子对象字段获取父对象
家長班:
public class Person {
String firstName;
String lastName;
Long id;
List phoneNumber = new ArrayList<>();
int age;
public Person(String firstName, String lastName, int age, Long id, List phone) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.id = id;
this.phoneNumber = phone;
}
兒童電話對象(第1級):
public class Phone {
String number;
String type;
Long id;
public Phone(String number, String type, Long id) {
super();
this.number = number;
this.type = type;
this.id = id;
}
}
我正在嘗試獲取其電話對象類型為home且其編號應包含“888”的person對象.
List list = personList.stream().map(p -> p.getPhoneNumber().stream()).
flatMap(inputStream -> inputStream).filter(p -> p.number.contains("888") && p.type.equals("HOME")).collect(Collectors.toList());
System.out.println(list.toString());
從上面的流代碼,我能夠獲得電話對象.但是如何在同一個函數中獲取該手機對象的父對象呢?
我試過這種方式,我為非匹配的對象獲取null.
List finalList = personList.stream().map( per -> {
List phones = per.getPhoneNumber();
Optional ph = phones.stream().filter(p -> p.number.contains("888") && p.type.equals("HOME")).findAny();
if(ph.isPresent())
return per;
return null;
}).collect(Collectors.toList());
總結
以上是生活随笔為你收集整理的java获取对象的子_java – 如何根据子对象字段获取父对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人民币读法的java程序_Java浮点数
- 下一篇: 功能引导 android,Flutter