Lambda學習(1)

不帶參數

new Thread(new Runnable(){// 接口名 
    @Override 
    public void run(){// 方法名 
    System.out.println("Thread run()"); 
    } 
}).start();
// JDK8 Lambda表達式寫法 
new Thread( () -> System.out.println("Thread run()")// 省略接口名和方名 ).start();

帶參數

// JDK7 匿名內部類寫法 
List<String> list = Arrays.asList("I", "love", "you", "too"); 
Collections.sort(list, new Comparator<String>(){
    // 接口名 
    @Override 
    public int compare(String s1, String s2){// 方法名 
        if(s1 == null) 
            return -1; 
        if(s2 == null) 
            return 1; 
        return s1.length()-s2.length(); 
    } 
});
// JDK8 Lambda表達式寫法 
List<String> list = Arrays.asList("I", "love", "you", "too"); 
Collections.sort(list, (s1, s2) ->{
    // 省略參數表的類型 
    if(s1 == null) 
        return -1; 
    if(s2 == null) 
        return 1; 
    return s1.length()-s2.length();
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章