標籤:stat 作用 style 利用 跟蹤 表達 函數式 print res
1 public class Lambda { 2 3 public static void main(String[] args) { 4 5 Lambda lambda=new Lambda(); 6 String something="oop print somthing"; 7 String something1="oop print something2"; 8 String something2="lambda print something"; 9 10 lambda.printSomething(something);11 12 Printer printer=new Printer(){13 @Override14 public void print(String something){15 System.out.println(something);16 }17 };18 //use lammbda expression
//lambda運算式的使用形式是(arg1,arg2,...)->{ 代碼塊}
//和上面利用建構函式構造介面實現對象的作用是一樣的。但是看起來更加簡潔。
19 Printer printer1= something3->System.out.println(something3);20 21 22 lambda.printSomething(something1, printer);23 lambda.printSomething(something2, printer1);24 25 }26 /*27 * 28 */29 public void printSomething(String something){30 System.out.println(something);31 32 }33 public void printSomething(String something,Printer printer) {34 printer.print(something);35 36 }37 }38 39 /*40 * function interface
*這裡申明一個函數式介面:只有一個函數的介面
*Lambda 運算式引入的目標是:Lambda運算式原被定義為一個函數式介面的內聯實現。
41 */42 interface Printer{43 public void print(String something);44 45 }
lambda能夠寫出更加緊湊的代碼,便於閱讀和跟蹤。在效能和多核處理方法上也具有不少好處,詳細需要瞭解stream API.
public class Lambda {
public static void main(String[] args) {
Lambda lambda=new Lambda();String something="oop print somthing";String something1="oop print something2";String something2="lambda print something";
lambda.printSomething(something);Printer printer=new Printer(){@Overridepublic void print(String something){System.out.println(something);}};//use lammbda expressionPrinter printer1= something3->System.out.println(something3);
lambda.printSomething(something1, printer);lambda.printSomething(something2, printer1);}/* * */public void printSomething(String something){System.out.println(something);}public void printSomething(String something,Printer printer) {printer.print(something);}}
/* * function interface */interface Printer{public void print(String something);}
Lamda運算式使用