В то время как довольно нетерпеливо ждет выпуск Java 8 и после чтения блестящей статьи "Состояние лямбды" от Брайана Гетца, я заметил, что состав функции не был вообще включен.
Как указано выше, в Java 8 должно быть возможно следующее:
// having classes Address and Person
public class Address {
private String country;
public String getCountry() {
return country;
}
}
public class Person {
private Address address;
public Address getAddress() {
return address;
}
}
// we should be able to reference their methods like
Function<Person, Address> personToAddress = Person::getAddress;
Function<Address, String> addressToCountry = Address::getCountry;
Теперь, если я хотел бы скомпоновать эти две функции для отображения функции Person
в страну, как я могу достичь этого в Java 8?