java8 lambda 表達式使用實例

YukikoBeckw 8年前發布 | 1K 次閱讀 Java Java8 Lambda

java 8的lambda表達式本質上是一個內置類,實現了某個接口, 可以訪問上下文中的變量, 寫起來簡單了很多, 請看下面的示例。

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * Created by outofmemory.cn on 2015/11/25.
 */
public class AppLambda {
    public static void main(String[] args) {
        List<String> names = new ArrayList<String>();
        names.add("Jim");
        names.add("Tom");
        names.add("Mary");
        Collections.sort(names, (a, b) -> a.compareTo(b));
        Collections.sort(names, (String a, String b) -> {
            return a.compareTo(b);
        });

        for (String name : names) {
            System.out.println(name);
        }
    }
}

上面實例中調用了兩次Collections.sort()方法, 第一個lambda表達式很簡單(a, b) -> a.compareTo(b), 這里將a,b兩個變量的類型都省略了, 返回值直接寫在了->之后。

而第二個lambda表達式則比較復雜一點; 首先完整的寫了類型名,并寫了花括號, 有了花括號之后就可以寫多行語句,最后需要寫return。

 本文由用戶 YukikoBeckw 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!