java創造匿名物件的兩種方法

liuxuhui發表於2021-09-11

java創造匿名物件的兩種方法

在java中有時候需要一些匿名物件的使用。可能有些小夥伴拿還不會創造,其實我們在學習一些方法時都或多或少的接觸過。本篇所要講到的創造匿名物件總結了兩種方法,分別是靜態工具方法和Lambda表示式,我們會在下文中為大家進行分析和例項程式碼展示,一起來看看吧。

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創造匿名物件的兩種方法,大家可以就這兩種不同的方法分別進行嘗試,然後選擇一種適合自己的方法加強記憶。更多Java學習指路:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756/viewspace-2830470/,如需轉載,請註明出處,否則將追究法律責任。

相關文章