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

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

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

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

或者若是能够接受 ?: 表达式的话code

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

其实好久好久之前,Java 就增长了一个类叫作 Optional,更早的时候这种机制出如今 Guava 中。没有 if 的写法能够写成get

Integer i = Optional.ofNullable(request.getParameter("key")).map(Integer::valueOf).orElse(null);
相关文章
相关标签/搜索