java8第一課:lambda表示式
阿新 • • 發佈:2018-12-15
這節課開始我們正式進入 java8 新特性
首先要講的就是哦Lambda表示式(拉姆達表示式),lambda表示式就是一個匿名函式,也就是說沒有函式名。這個表示式的作用就一點: 簡化開發。
語法(引數表)->{功能程式碼}
lambda在java裡的唯一作用就是替代匿名內部類,要求是介面只有一個未實現的抽象方法
public class Teach01 { public static void main(String[] args) { List<String> strList =new ArrayList<>(); strList.add("asdad"); strList.add("ansdkanw"); strList.add("asb"); strList.add("asbsada");strList.add("asbqq"); strList.add("asbdddffg"); //下面來看看如何用lamda表示式簡化開發 /** * 口訣: * 照搬引數 * 加上右箭頭 * 大括號寫實現方法 */Filter<String> stringFilter = (List<String> list)->{ List<String> stringList = new ArrayList<>(); for (String s : list) { if (s.length() > 5) { stringList.add(s); } } return stringList; }; List<String> strListAfterFilter = stringFilter.filter(strList); for (String s : strListAfterFilter) { System.out.println(s); } } } //過濾器 interface Filter<T>{ List<T> filter(List<T> list); }
public class Teach01 { public static void main(String[] args) { //介紹一個常用案例 /** * Thread有一個構造器是最常用的: * public Thread(Runnable runnable,String name); * * Runnable是一個介面,裡面只有一個未實現的抽象方法void run(); */ Thread thread = new Thread(()->{ //這裡面寫的其實就是原來run()方法的程式碼 for (int i = 0; i < 10; i++) { System.out.println(i); } },"執行緒1"); thread.start(); } }