如何用 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.