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.