方法引用

方法引用让你可以重复使用现有的方法定义,并像Lambda一样传递它们。在一些情况下,比起使用Lambda表达式,它们似乎更易读,感觉也更自然。

先前:
inventory.sort((Apple a1, Apple a2) 
 -> a1.getWeight().compareTo(a2.getWeight())); 
之后(使用方法引用和java.util.Comparator.comparing):
inventory.sort(comparing(Apple::getWeight));
图片.png
如何构建方法引用
  • 指向静态方法的方法引用(例如Integer的parseInt方法,写作Integer::parseInt)
  • 指 向 任意类型实例方法 的方法引用(例如 String 的 length 方法,写作
    String::length)。
  • 指向现有对象的实例方法的方法引用(假设你有一个局部变量expensiveTransaction 用于存放Transaction类型的对象,它支持实例方法getValue,那么你就可以写expensive�Transaction::getValue)
图片.png
构造函数引用
图片.png
图片.png

你可能感兴趣的:(方法引用)