Java中的强制转换表达式是什么?
一投的表达提供了一种机制,以明确提供 lambda表达式的类型,如果没有可以从上下文推断方便。当方法声明因不相关的功能接口类型而过载时,解决歧义也很有用。
语法
Object o = () -> { System.out.println("nhooo"); };
//非法:
Object o = (Runnable) () -> { System.out.println("nhooo"); }; // 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
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短