毫無疑問,按照整潔代碼的原則,每少書寫一個 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);