1、靜態工具方法
Collections.sort接受一個list,和一個Comparator介面作為輸入參數,Comparator的實作類別可以對輸入的list中的元素進行比較。通常情況下,你可以直接用建立匿名Comparator對象,並把它當作參數傳遞給sort方法。
List<String> names = Arrays.asList("peter", "anna", "mike", "xenia"); Collections.sort(names, new Comparator<String>() { @Override public int compare(String a, String b) { return b.compareTo(a); } });
2、Lambda表達式
Collections.sort(names, (String a, String b) -> { return b.compareTo(a); });
可以看到,這段程式碼就比之前的更簡短、更易讀。但是,它還可以更簡短:
Collections.sort(names, (String a, String b) -> b.compareTo(a));
只要一行程式碼,包含了方法體。你甚至可以連大括號對{}和return關鍵字都省略不要。不過這還不是最短的寫法:
Collections.sort(names, (a, b) -> b.compareTo(a));
Java編譯器能夠自動辨識參數的型別,所以可以省略掉型別不寫。
以上是java創造匿名物件的兩種方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!