1. 程式人生 > >landa表示式的一點東西

landa表示式的一點東西

1:作用

代替匿名內部類、各種回撥,簡化程式碼。在編譯時還是會將lamda表示式編譯為匿名內部類。

2:格式

2.1 多引數

(x1,x2,....) -> { 表示式1;表示式2;.......};

2.2 單引數

x1 -> {表示式1;表示式2;......}

當引數只有1個時可以省略左邊的小括號。

2.4 單引數 單語句

x1 -> 表示式1

單語句時可以省略大括號

2.5 例

排序

List<String> strList = Arrays.asList(new String[] {"a","d","c"});

//匿名內部類寫法
Collections.sort(strList, new Comparator<String>() {
    @override
    public int compare(String str1, String str2) {
        return Str1.comparaTo(str2);
    }

});

//lamda表示式寫法
collections.sort(list, (str1,str2) -> str1.comparaTo(str2));

//方法引用輸出結果
list.foreach(system.out::println);

3 方法引用

格式

Class or instance :: method

list.foreach(system.out::println) //一次列印list中的資料

4 構造器引用

格式

ClassName::new

把lambda表示式的引數當成ClassName構造器的引數 。例如BigDecimal::new等同於x->new BigDecimal(x)。