[每日短篇] 1D - 消除 if 的一种方法

毫无疑问,按照整洁代码的原则,每少书写一个 if 代码就会整洁一点,代码出 BUG 的风险就会少一点。所以,追求代码质量的程序员们就会使用各种手段去避免使用 if。下面一种经常遇到的情况是可以不用 if 就可以解决的。 场景

var v = request.getParameter("key");
Integer i;

if (v == null) {
  i = null;
} else {
  i = Integer.valueOf(v);
}

或者如果可以接受 ?: 表达式的话

Integer i = request.getParameter("key") == null ? null : Integer.valueOf(request.getParameter("key"));

其实很久很久以前,Java 就增加了一个类叫做 Optional,更早的时候这种机制出现在 Guava 中。没有 if 的写法可以写成

Integer i = Optional.ofNullable(request.getParameter("key")).map(Integer::valueOf).orElse(null);

转载于:https://my.oschina.net/u/1762727/blog/2963615

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值