yas*_*eco 1 java functional-programming java-8
考虑以下示例:
public static void main(String[] args) {
Function<String, Integer> f1 = str -> str.length();
f1.andThen(i -> {
System.out.println("length is " + i);
return "why do I need to return a String here?";
}).apply("12345");
}
Run Code Online (Sandbox Code Playgroud)
我试图理解为什么我必须返回String。
这背后的逻辑是什么?我希望这andThen会接受Consumer<Integer>让我们说或类似的东西。
那么为什么andThen()要求我返回原始输入的类型呢?
你想要的可以通过
Function<String, Integer> f1 = str -> str.length();
Consumer<Integer> printer = i -> System.out.println("length is " + i);
printer.accept(f1.apply("12345"));
Run Code Online (Sandbox Code Playgroud)
andThen用于将函数链接在一起。函数总是有结果的。
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |