【发布时间】:2019-01-17 06:20:27
【问题描述】:
我有点困惑为什么没有像 lambda 重载这样的东西。
我知道 lambda 表达式可以与 @FunctionalInterface 一起工作如果你想使用 lambda 表达式。但是,如果您有两个或多个具有不同参数或不同类型的参数或返回类型的函数,编译器可以轻松决定调用哪个函数。
例如:
interface Foo{
void show(String message);
void count(int number);
}
// Calling with lambda (Syntax is not correct)
x -> "Example Message"; // It should need to call void show();
x -> 7; // It should need to call void count();
为什么这种东西在java中不可用。这不是一件好事。
【问题讨论】:
-
如果我还将
void hide(String message)添加到现有界面,您希望x -> "Example Message"执行什么操作?到show或hide?
标签: java lambda overloading