-2
我在我們的代碼庫中有以下代碼,並且我正在努力一點以更功能性的方式重構此代碼,並且我希望這裏有人能幫助我。這個想法是找到人的地址ID。請參見下面的代碼:重構程序性Java代碼到功能代碼
public Integer findAddressId(String name) {
List<Person> persons = getPersons(name);
Integer addressId = -1;
for (Person person : persons) {
List<Address> addresses = findAddresses(person);
for (Address address : addresses) {
if (livesAtAddress(person, address)) {
addressId = address.getId();
}
}
}
if(addressId > 0) {
return addressId;
} else {
throw new RuntimeException("Cannot find address for person " + name);
}
}
這些都是一些輔助方法:
private boolean livesAtAddress(Person person, Address address) {
return false;
}
private List<Address> findAddresses(Person person) {
return null;
}
private List<Person> getPersons(String name) {
return null;
}
這似乎是我正在尋找的東西。我正在努力與flatMap /過濾器組合。很好,謝謝你! –