毫无疑问,按照整洁代码的原则,每少书写一个 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);