如何用 Java 执行对特定对象实例方法的引用?


方法引用是一种可以执行一个方法的 lambda 表达式的简化形式。可以使用 "::" 符号进行说明。对特定对象实例方法的引用是指绑定到接收方的非静态方法。

语法

ObjectReference::instanceMethodName

示例 - 1

import java.util.*;

public class InstanceMethodReferenceTest1 {
   public static void main(String[] args) {
      String[] stringArray = { "India", "Australia", "England", "Newzealand", "SouthAfrica", "Bangladesh", "WestIndies", "Zimbabwe" };
      Arrays.sort(stringArray, String::compareToIgnoreCase);
      System.out.println(Arrays.toString(stringArray));
   }
}

输出

[Australia, Bangladesh, England, India, Newzealand, SouthAfrica, WestIndies, Zimbabwe]

示例 - 2

@FunctionalInterface
interface Operation {
   public int average(int a, int b);
}
class MathUtility {
   public int getAverage(int x, int y){
      return (x+y)/2;
   }
}
public class InstanceMethodReferenceTest2 {
   public static void main(String[] args) {
      MathUtility mathUtilityObject = new MathUtility();
      Operation operationObject = mathUtilityObject::getAverage;
      int result = operationObject.average(50, 30);
      System.out.println("Average of two numbers: "+ result);
   }
}

输出

Average of two numbers: 40

更新时间: 11-Jul-2020

550 次浏览

Kickstart 您的 职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.