剛開始看到這個的時候,覺得這是啥啊?根本就不是java了嘛。不要學這個,我要寫正宗java代碼。看着就彆扭。真正接觸之後,真香!!!
下面的敘述都是個人理解,簡單表達。有錯誤的地方還請指正。
“->”的使用
1.沒有參數的使用方法
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getId());
}
});
// () -> {} 簡直不要太方便,一句話搞定.
Thread t2 = new Thread(() -> {
System.out.println(Thread.currentThread().getId());
});
t1.start();
t2.start();
}
運行結果:
2.有參數的使用方法
x -> System.out.println(x)
(x) -> {System.out.println(x);}
上面兩種方法都是隻有一個參數的時候。多個也比較簡單。
(x, y) -> System.out.println(x + y)
注意如果有返回值,一句話的話可以直接是最後結果返回值。如果是代碼塊則需要帶有return返回對應類型
引用W3C
// 1. 不需要參數,返回值爲 5
() -> 5
// 2. 接收一個參數(數字類型),返回其2倍的值
x -> 2 * x
// 3. 接受2個參數(數字),並返回他們的差值
(x, y) -> x – y
// 4. 接收2個int型整數,返回他們的和
(int x, int y) -> x + y
// 5. 接受一個 string 對象,並在控制檯打印,不返回任何值(看起來像是返回void)
(String s) -> System.out.print(s)