父类:
public class Person {
String firstName;
String lastName;
Long id;
List<Phone> phoneNumber = new ArrayList<>();
int age;
public Person(String firstName, String lastName, int age, Long id, List<Phone> phone) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.id = id;
this.phoneNumber = phone;
}
子电话对象(第一级):
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;
}
}
我正在尝试获取person对象,其phone对象类型为home,其编号应包含“888”。
List<Phone> 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<Person> finalList = personList.stream().map( per -> {
List<Phone> phones = per.getPhoneNumber();
Optional<Phone> ph = phones.stream().filter(p -> p.number.contains("888") && p.type.equals("HOME")).findAny();
if(ph.isPresent())
return per;
return null;
}).collect(Collectors.toList());
List<Person> result = personList.stream()
.filter( person -> person.phoneNumber.stream()
.anyMatch(phone -> phone.type.equals("HOME") &&
phone.number.contains("888"))
.collect(Collectors.toList());
你要找的是手机的代码流。它会起作用的。
让人们带着他们的手机,你现在可以删除那些不符合标准的手机。
List<Person> result = personList.stream()
.filter( person -> person.phoneNumber.stream()
.anyMatch(phone -> phone.type.equals("HOME") &&
phone.number.contains("888"))
.map(person -> {
List<Phone> phones = person.phoneNumber.stream()
.filter(phone -> phone.type.equals("HOME") &&
phone.number.contains("888"))
.collect(Collectors.toList());
return new Person(person.firstName, person.lastName, person.age, person.id, phones);
})
.collect(Collectors.toList());
我有个简单的课 我创建了这个类的样本对象的ArrayList 这里没有显示我后来如何填充对象的其他字段(名称,地址等) 有没有一种方法可以使用字母数字字符串id快速检索其中一个对象,而无需遍历整个列表?(没有实现数据库层) 差不多
问题内容: 我对Java(作为C ++程序员)有一点疑问。 我有2个相关课程: 这将输出: org.example.smartgwt.server.model.PatientPersistent类 有没有一种方法可以获取父类的类型?即 org.example.smartgwt.server.model.Patient类。 这将使我能够概括一些我需要在每个可怕的孩子中实现的方法。 谢谢! 更新 我正
在我的角度 this.device返回对象。每个对象都包含一个字段,并且在所有15个对象上都有不同的值。如果我可以访问underscore.js,我就会这样做,但是在这个项目中,我没有它。 什么是JS的方法来访问它而不需要执行for循环?
我有两个具有一对多关系的实体,它们通过复合主键连接在一起。由于Spring Data为oracle数据库生成错误计数不同的查询,我SQL笛卡尔连接的输出,这导致每一行子对象都重复父对象的行。我需要找出基于复合键的不同的父对象,然后在列表中为父对象添加每个子对象,并将其设置为父对象的属性 我能够根据父对象的组合键找到不同的父对象。以下是相关代码 假设我有以下输入 我需要产生以下输出 这方面的任何帮助
我的背景是C,在那里我们可以使用子类对象访问父类的公共字段。示例: 如何在Java继承中实现同样的功能? 我还有另一个关于覆盖的问题,但由于Stackoverflow规则,我将作为单独的问题提问。 那么,使用子类对象引用打印/访问Java的父类方法的语法应该是什么?我尝试了。等,但不工作。
我有一个场景,从多个json文件中读取数据,并将其映射到特定的json格式。 J输出: 我试图将文件读取的输入直接映射到有效的json格式,以避免读取一个jsonObj中的所有文件,将其映射到一个对象(类)中,并在新对象中添加每个参数以创建jsonoutput。 我还希望在合并这些json内容时处理共享的可变状态,因此我使用锁(obj),进行此映射的方法是异步方法。 我正在使用JSchema生成预