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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP