如何使用Java 8编写以下函数?
private static final Function<String, Integer> EmpIdToInt = (id) -> {
return Integer.valueOf(ACI.generate("emp",id).revealId().intValue());
};
在Java 8中有没有更好的方法来编写这个函数?
有人可以帮忙吗?
答案 0 :(得分:3)
有没有更好的方法在java 8中编写这个函数?
您已经使用了java 8的功能,是的,您可以删除中Link
(
来缩短代码,因为只有一个参数并删除了{{1 } )
因为只有一个执行语句。
你可以像这样简化它:
{
答案 1 :(得分:2)
注意:我带走private static final
打印页面。
IF 您的revealId
是一个整数,您可以简化为:
Function<String, Integer> EmpIdToInt = id -> ACI.generate("emp",id).revealId();
当revealId
不是整数时, 或,int
会自动装箱到Integer
,因此您可以移除{{1}方法调用:
Integer.valueOf
OR 您可以使用Function<String, Integer> EmpIdToInt = id -> ACI.generate("emp",id)
.revealId().intValue();
方法逐步链接这些功能:
注意:类curry
是声明X
方法的地方,而类revealId
是声明Y
方法的地方。
intValue