Java 中的強制型別轉換是什麼?


強制型別轉換提供了一種機制,用於顯式提供lambda 表示式的型別(如果無法從上下文中方便地推斷出該型別)。當方法宣告因不相關的函式式介面型別而過載時,它還有助於消除歧義。

語法

Object o = () -> { System.out.println("TutorialsPoint"); };
// Illegal:
Object o = (Runnable) () -> { System.out.println("TutorialsPoint"); }; // Legal

示例

interface Algebra1 {
   int operate(int a, int b);
}
interface Algebra2 {
   int operate(int a, int b);
}
public class LambdaCastingTest {
   public static void main(String[] args) {
      printResult((Algebra1)(a, b) -> a + b);  // Cast Expression in Lambda
      printResult((Algebra2)(a, b) -> a * b); // Cast Expression in Lambda
   }
   static void printResult(Algebra1 a) {
      System.out.println("From Algebra1 Interface: " + a.operate(40, 20));
   }
   static void printResult(Algebra2 a) {
      System.out.println("From Algebra2 Interface: " + a.operate(40, 20));
   }
}

輸出

From Algebra1 Interface: 60
From Algebra2 Interface: 800

更新於:2020 年 7 月 11 日

660 次瀏覽

開啟你的 職業 生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.