[每日短篇] 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);
相關文章
相關標籤/搜索