java - 是否可以使用 -> 指定函数类型
问题描述
我有以下方法定义,它有效。
public static String runFunction2(Function<String,String> function, String input) {
return function.apply(input);
}
但我想像 Scala 一样明确指定函数类型:
public static String runFunction(String -> String function, String input) {
return function.apply(input);
}
上面的代码有编译错误,Java 8 不支持这个语法吗?
解决方案
不,Java 不支持这种语法。事实上,Java 对函数类型1没有任何特殊语法。
Java 函数类型是一种 Java 接口类型,您需要使用与使用任何接口类型时相同的语法。
Java 仅具有用于表达函数值的特殊语法(例如 lambda 和方法引用)。
1 - 未来的 Java 版本可能不是不可能的,但我不会屏住呼吸等待......
推荐阅读
- emq - 我已将 emqtt 配置为 1M 客户端,但在 500 个客户端后失败
- r - 无法将新数据合并到列表的每个数据框元素
- javascript - 如何在 5 秒内停止功能?Vue.js
- html - 如何以角度打印json数组
- powershell - 从 webrequest 中读取 `Set-Cookie` 标头并在 powershell 中发送 cookie 详细信息
- google-app-engine - 获取所有活动用户会话 webapp2
- c# - 使用 Xpath 并从相同的属性名称读取值
- javascript - 添加中间件以自定义 TouchableOpacity 行为以在 onPress 操作后添加等待以防止多次执行
- php - 如何在php中编辑特定的id
- reactjs - 处理 HTTP 重定向状态码