【发布时间】:2017-03-28 00:34:35
【问题描述】:
假设我的项目中有这段代码:
public List<T> getAll(Integer parameter) {
if(parameter != null && parameter > -1) {
// do something here
}
}
我的问题是:我如何使用Optional 而不是使用if 进行检查,或者我可以使用其他东西吗?
【问题讨论】:
-
如果参数是可选的,那么创建两个方法:一个没有参数,一个期望一个int。
if和Optional都不是很好的选择。 -
不能同意该评论。考虑三个都是可选的参数。当然,您并不是建议对方法进行 2^3=8 重载,尤其是在每个参数都是整数的情况下(使几个不同的签名无法区分)。当然有时我们可以在其他实体中收集所有参数,但我们将再次需要处理它们是可选的。
标签: java if-statement functional-programming java-8 optional