问题描述
我正在尝试创建一种在全名数组中搜索姓氏的方法,但是它似乎不起作用。关于我在做什么错的任何想法:
public int searchRegisterByFamilyName(String familyName) {
int searchByFamilyName(Name [] list,String fullname) {
for (int i= 0; i < list.length; i++) {
String[] splitted = fullname.split(" ");
String firstName;
String surName;
firstName = splitted[0];
surName = splitted[1];
String[] splittedd = familyName.split(" ");
String FirstName;
String lastName;
FirstName = splittedd[0];
lastName = splittedd[1];
if (list[i].surName.equals(lastName))
return i;
}
}
return -1;
}
理想情况下,我希望它接受String参数,并根据名称是否与各自的姓氏一起返回true或false。
解决方法
Stream
方式:
Set<Name> matchedNames = names
.stream()
.filter(n -> n.getFamilyName().equals(requestedFamilyName))
.collect(Collectors.toSet());
这将给出所有(如果有)匹配的名称