找到 4330 篇文章 關於 Java 8
10K+ 瀏覽量
Lambda 表示式是一個匿名方法,用於提供函式式介面定義的方法的實現。在 Java 8 中,lambda 表示式的主體也可以是複雜的表示式或語句,這意味著一個 lambda 表示式可以包含多行。在這種情況下,分號是必要的。如果 lambda 表示式返回結果,則還需要 return 關鍵字。語法([逗號分隔的引數列表]) -> {多行語句}示例介面 Employee { String displayName(String s); } public class MultilineLambdaTest { public static void main(String[] s) { ... 閱讀更多
7K+ 瀏覽量
java.util.function 包定義了一些內建函式式介面,這些介面可以在建立 lambda 表示式或方法引用時使用。內建函式式介面:1) Function 介面Function 介面只有一個方法 apply()。它可以接受任何資料型別的物件並返回任何資料型別的結果。示例import java.util.*; import java.util.function.*; public class FunctionTest { public static void main(String args[]) { String[] countries = {"India", "Australia", "England", "South Africa", "Srilanka", "Newzealand", "West Indies", "Scotland"}; Function converter = (all) -> { // lambda 表示式 String names = ""; ... 閱讀更多
239 瀏覽量
建構函式引用類似於方法引用,只是方法名稱為“new”。它可以透過使用“類名”和關鍵字“new”以及以下語法來建立。語法 :: new在下面的示例中,我們使用 java.util.function.Function。它是一個函式式介面,其唯一的抽象方法是 apply()。Function 介面表示一個操作,該操作接受單個引數 T 並返回結果 R。示例import java.util.function.*; @FunctionalInterface interface MyFunctionalInterface { Employee getEmployee(String name); } class Employee { private String name; public Employee(String name) { this.name = name; } public String ... 閱讀更多
1K+ 瀏覽量
當我們為 java 監聽器使用 lambda 表示式時,我們不必顯式實現 ActionListener 介面。相反,我們可以使用以下語法。語法button.addActionListener(e -> { // 一些語句 });ActionListener 介面只定義了一個方法 actionPerformed()。它是一個函式式介面,這意味著可以使用 lambda 表示式替換程式碼。示例import java.awt.*; import java.awt.event.*; import javax.swing.*; public class LambdaListenerTest extends JFrame { public static void main(String args[]) { new LambdaListenerTest(); } private JButton button; public ClickMeLambdaTest() { setTitle("Lambda 表示式測試"); button = ... 閱讀更多
3K+ 瀏覽量
將 lambda 表示式傳遞給具有函式式介面型別引數的方法。如果需要將 lambda 表示式作為引數傳遞,則接收 lambda 表示式引數的引數型別必須為函式式介面型別。在下面的示例中,lambda 表示式可以傳遞給一個方法,該方法的引數型別為“TestInterface”。示例介面 TestInterface { boolean test(int a); } class Test { // lambda 表示式可以作為 check() 方法的第一個引數傳遞 static boolean check(TestInterface ti, int b) { return ti.test(b); } } public class ... 閱讀更多
886 瀏覽量
lambda 表示式由兩部分組成,一部分是引數,另一部分是表示式,這兩部分由箭頭(->)符號分隔。lambda 表示式可以訪問其封閉作用域的變數。lambda 表示式可以訪問其封閉類的例項變數和靜態變數,還可以訪問區域性變數,這些區域性變數必須是有效的 final 或 final。語法(引數列表) -> 表示式示例介面 TestInterface { void print(); } public class LambdaExpressionTest { int a; // 例項變數 static int b; // 靜態變數 LambdaExpressionTest(int x) { // 建構函式初始化例項變數 this.a = ... 閱讀更多
3K+ 瀏覽量
lambda 表示式主體不能丟擲函式式介面中未指定的任何異常。如果 lambda 表示式可以丟擲異常,則函式式介面的“throws”子句必須宣告相同的異常或其子型別之一。示例介面 Student { void studentData(String name) throws Exception; } public class LambdaExceptionTest { public static void main(String[] args) { // lambda 表示式 Student student = name -> { System.out.println("學生姓名為:" + name); throw new Exception(); }; try { student.studentData("Adithya"); } catch(Exception e) { } } }輸出學生姓名為:Adithya
2K+ 瀏覽量
有效 final 變數是指未顯式宣告為 final 的區域性變數,並且在初始化後不能更改。lambda 表示式只能使用外部作用域中的區域性變數,前提是它們是有效 final 的。語法(可選) (引數) -> 主體在下面的示例中,“size”變數未宣告為 final,但它是有效 final 的,因為我們沒有修改“size”變數的值。示例介面 Employee { void empData(String empName); } public class LambdaEffectivelyFinalTest { public static void main(String[] args) { int size = 100; Employee emp = name -> { // lambda ... 閱讀更多
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP