在 this tutorial ,我看到了一个用户定义的 lambda 函数的示例。
Function<String, String> toLowerCase = (var input) -> input.toLowerCase();
我想知道如何调用这个函数?我在 jshell 中尝试过,但无法。我可以很好地创建函数:
有什么想法吗?
jshell> Function<String, String> toLowerCase = (var input) -> input.toLowerCase();
toLowerCase ==> $Lambda$16/0x00000008000b3040@3e6fa38a
但似乎无法执行它:
jshell> String hi = "UPPER";
jshell> String high;
high ==> null
jshell> toLowerCase(high,low);
| Error:
| cannot find symbol
| symbol: method toLowerCase(java.lang.String,java.lang.String)
| toLowerCase(high,low);
| ^---------^
jshell>
最佳答案
您需要应用
该函数,例如:
toLowerCase.apply(high)
或将其值分配给另一个变量low
,如下所示:
jshell> String low = toLowerCase.apply(high)
low ==> "ggggg"
<小时/>
<小时/>
建议:使用 jshell
自动完成(在 macOS 上使用 Tab 键)来找出所有方法都适用于调用的内容声明的变量。
关于java - 如何在Java中调用用户定义的Lambda函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60418795/