我在下面的代码中使用函数接口有一个问题.这会将字符串转换为整数,并将结果整数转换回String.
Function<String, Integer> toInteger = Integer::valueOf;
Function<String, String> backToString = toInteger.andThen(String::valueOf);
Run Code Online (Sandbox Code Playgroud)
我期待backToString的类型参数<Integer, String>代替<String, String>.这是因为,我们将toInteger函数的整数结果传递给String :: valueOf方法.
请解释.
backToString 结合了两个功能:
首先它将其String输入传递给toInteger,返回一个Integer.
然后Integer传递给String::valueOf它返回a String.因此backToString接受String并返回a String.
它也可以写成:
Function<String, Integer> toInteger = Integer::valueOf;
Function<Integer, String> toString = String::valueOf;
Function<String, String> backToString = toInteger.andThen(toString);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |