Java流API:身份仿函数有语法糖吗?

时间:2015-01-29 19:16:55

标签: java lambda java-8 java-stream

我们在对象列表中使用多个Map作为简单的内存数据库:

class Person {
    public String id;
    public String phone;
    public String email;
    // and get/set and other fields...
}

List<Person> persons;
Map<String, Person> emailLookup = persons.stream()
        .collect(Collectors.toMap(Person::getEmail, p -> p));
Map<String, Person> phoneLookup = persons.stream()
        .collect(Collectors.toMap(Person::getPhone, p -> p));
Map<String, Person> idLookup = persons.stream()
        .collect(Collectors.toMap(Person::getId, p -> p));

Java SE中是否有任何语法糖或内置函子用其他东西替换p -> p

1 个答案:

答案 0 :(得分:8)

您可以使用Function.identity(),但如果您想要短片,那么我就不会认为您会击败现有的p -> p