3
我已經在使用lambda表達式進行比較的集合上實現了一個排序。我要檢查空值,所以我想出了這個解決方案的比較具有空值檢查的Java 8 lambda比較器
(a,b)->(
(a.getStartDate() == null)
? ((b.getStartDate() == null) ? 0 : -1)
: ((b.getStartDate() == null)?1:a.getStartDate().compareTo(b.getStartDate()))
);
我已經查了一些問題,比如this,但他們都指預先拉姆達代碼。
java lambda表達式讓我有機會避免兩個'if'語句嗎?我能以更清潔的方式執行任務嗎?
參見http://stackoverflow.com/questions/36361156/null-safe-date-comparator-for-sorting- in-java-8-stream和http://stackoverflow.com/questions/39518961/comparator-based-on-different-nullable-fields-of-an-object和http://stackoverflow.com/questions/26350996/ java-8-comparator-nullsfirst-naturalorder-confused – Tunaki
謝謝@Tunaki!刪除問題 - 編輯:不能這樣做,因爲它被回答... – Gabber