Java 8中引入了lambda表達式和方法引用,它們可以使代碼更簡潔和易于理解。通過使用lambda表達式,可以將功能作為參數傳遞給方法或使用Stream API過濾和映射數據集。
與lambda表達式類似的是匿名類,它們可以用于創建實現接口的類的對象。匿名類與lambda表達式都是為了實現函數式編程,并且在某些情況下,使用匿名類更為簡單。
下面是一個使用lambda表達式和匿名類的示例:
// 使用lambda表達式實現Runnable接口 Runnable r = () ->System.out.println("Hello lambda!"); r.run(); // 使用匿名類實現Runnable接口 Runnable r2 = new Runnable() { @Override public void run() { System.out.println("Hello anonymous class!"); } }; r2.run();
在這個示例中,我們使用lambda表達式和匿名類實現了Runnable接口。在使用lambda表達式時,我們只需要提供參數和方法體的代碼。在使用匿名類時,我們需要創建一個實現Runnable接口的類的對象,并覆蓋它的run方法。
總的來說,lambda表達式和匿名類都是為了實現函數式編程和簡化代碼。在不同的情況下,選擇適當的方法實現可以使代碼更為簡單。