Java Lambda & 方法引用

方法引用

方法引用是Java 8中提出的用来简化lambda表达式的一种手段。它通过类名和方法名来定位到一个静态方法或者实例方法。 方法引用在Java 8中的使用非常灵活。总的来说,可以分为以下几种:

静态方法引用:ClassName::methodName

List<Integer> ints = Arrays.asList(1, 2, 3);
ints.sort(Integer::compare);

实例上的实例方法引用 instanceReference::methodName,方法引用使用”::”定义,”::”的前半部分表示类名或者实例名,后半部分表示方法名称。如果是构造函数,则使用new表示。

words.forEach(System.out::println);

words.stream().map(word -> word.length()); // lambda
words.stream().map(String::length); // method reference

// lambda
words.stream().map(word -> {
    return new StringBuilder(word);
});
// constructor reference
words.stream().map(StringBuilder::new);

参考
从java8 说起函数式编程

你可能感兴趣的:(Java)