Java 條件表示式的優化
編碼的過程中,可能會遇到一個很長的表示式,比如下面這種:
ParameterUtil.getInteger(request.getParameter("total"))
這種表示式的值可能為 null,但我們需要在他 != null 的時候取該值,而在 == null 的時候,自定義一個預設值,根據以往的經驗,可能會這樣寫:
Integer total = ParameterUtil.getInteger(request.getParameter("total"));
total = total != null ? total : 0;
但是,Java 這種方式始終不夠優雅,從 PHP 的條件表示式語法來看,當一個表示式的值 == true 時,則返回該值,否則,返回自定義的預設值,比如:
ParameterUtil.getInteger(request.getParameter("total")) ?: 0;
其實,Java 也可以做到,JDK 8 提供的 Optional 類滿足你的一切幻想:
Optional.ofNullable(ParameterUtil.getInteger(request.getParameter("total"))).orElse(0)
原理也很簡單,只是一層包裝而已:
public T orElse(T other) {
return value != null ? value : other;
}
相關文章
- 通用函式和條件表示式函式
- Oracle OCP(06):通用函式和條件表示式Oracle函式
- Odoo Domain條件表示式寫法總結OdooAI
- MySQL 針對 like 條件的優化MySql優化
- 通過新增條件優化SQL優化SQL
- 【開發篇sql】 條件和表示式(八) 10g 正規表示式SQL
- 【開發篇sql】 條件和表示式(十) 特定的dmlSQL
- java效能優化方案2——避免使用正規表示式Java優化
- 正規表示式效能優化的探究優化
- 3.1Python流程控制(1):條件表示式Python
- 優化 JS 條件語句的 5 個技巧優化JS
- ORACLE SQL過濾條件是IS NULL or !=的優化OracleSQLNull優化
- EntityFramework動態多條件查詢與Lambda表示式樹Framework
- 【開發篇sql】 條件和表示式(九) group by語句SQL
- 【開發篇sql】 條件和表示式(六) Exists, not exsists,in ,not inSQL
- 【開發篇sql】 條件和表示式(五) 集合運算SQL
- 【開發篇sql】 條件和表示式(三) Null詳解SQLNull
- 蝦扯蛋之條件判斷的極致優化優化
- 一個NOT EXISTS含有OR條件子查詢的優化優化
- Java中Lambda表示式的進化之路Java
- 【開發篇sql】 條件和表示式(一) 資料型別SQL資料型別
- javascript對於if條件語句程式碼的優化方式JavaScript優化
- [轉]Java 8 的 lambda 表示式 Java 8 的 lambda 表示式Java
- 程式碼優化-多型代替IF條件判斷優化多型
- 「譯」編寫更好的 JavaScript 條件式和匹配條件的技巧JavaScript
- impala 條件函式函式
- 我去,這麼簡單的條件表示式竟然也有這麼多坑
- 【開發篇sql】 條件和表示式(四) 幾個常見的偽列SQL
- 『忘了再學』Shell基礎 — 28、AWK中條件表示式說明
- Java的Lambda表示式Java
- JavaScript(ES6)邏輯判斷條件優化JavaScript優化
- 支援向量機(非線性模型)——改寫優化目標函式和限制條件模型優化函式
- Laravel-orWhere條件式Laravel
- Laravel 系列:orWhere 條件式Laravel
- 連線條件是兩個欄位“or”關係的SQL優化SQL優化
- 外連線有 OR 關聯條件只能走 NL優化優化
- Java 中的 Lambda 表示式Java
- 【開發篇sql】 條件和表示式(二) 資料型別的比較規則SQL資料型別