找到關於 Java 8 的4330 篇文章

如何在 Java 中使用 lambda 表示式初始化陣列?

raja
更新於 2020年7月11日 07:31:06

2K+ 次瀏覽

陣列是大小固定的相同型別元素的集合。lambda 表示式也可用於在 Java 中初始化陣列。但是不能使用泛型陣列初始化。示例 1介面 Algebra {    int operate(int a, int b); } public class LambdaWithArray1 {    public static void main(String[] args) {       // 在 Lambda 表示式中初始化陣列       Algebra alg[] = new Algebra[] {                                         (a, b) -> a+b,             ... 閱讀更多

如何在 Java 的 lambda 表示式中使用 return 語句?

raja
更新於 2020年7月11日 07:31:48

11K+ 次瀏覽

return 語句在 lambda 表示式中不是表示式。我們必須將語句括在花括號 ({}) 中。但是,我們不必將 void 方法呼叫括在花括號中。在 lambda 表示式中使用 return 語句的方法的返回型別必須是函式式介面。示例 1public class LambdaReturnTest1 {    interface Addition {       int add(int a, int b);    }    public static Addition getAddition() {       return (a, b) -> a + b; // lambda 表示式 return 語句    }    public static void main(String args[]) {       System.out.println("The ... 閱讀更多

如何在 Java 中使用方法引用實現動作監聽器?

raja
更新於 2020年7月11日 07:11:00

549 次瀏覽

在 Java 8 中,lambda 表示式接受匿名函式作為引數。在提供匿名方法的情況下,我們也可以使用 "::" 符號傳遞現有方法的引用。方法引用使我們能夠使用現有方法做同樣的事情。我們還可以使用靜態方法引用為 JButton 實現動作監聽器,並使用類名引用。語法:: 方法名;示例import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MethodReferenceButtonListenerTest extends JFrame {    private JButton button;    public MethodReferenceButtonListenerTest() {       setTitle("Method Reference Button Listener");       button = new JButton("Method Reference");       ... 閱讀更多

Java 中 Lambda 表示式和方法引用的區別?

raja
更新於 2020年7月11日 06:54:44

7K+ 次瀏覽

Lambda 表示式是一個匿名方法(沒有名稱的方法),用於提供函式式介面定義的方法的內聯實現,而方法引用類似於 lambda 表示式,它引用方法而不執行它。箭頭(->)運算子可用於連線 lambda 表示式中的引數和功能,而 (::) 運算子在方法引用中將方法名稱與物件或類的名稱分開。Lambda 表示式的語法 ([逗號分隔的引數列表]) -> {主體} 方法引用的語法 :: 示例import java.util.*; public class LambdaMethodReferenceTest {    public static void main(String args[]) { ... 閱讀更多

如何在 Java 中使用方法引用實現任意物件的例項方法?

raja
更新於 2020年7月11日 06:20:53

839 次瀏覽

方法引用是 Java 8 中的一個新特性,它與 Lambda 表示式相關。它允許我們引用建構函式或方法而不執行它們。方法引用和 lambda 表示式類似,因為它們都需要一個目標型別,該型別包含一個相容的函式式介面。語法類 :: 例項方法名示例import java.util.*; import java.util.function.*; public class ArbitraryObjectMethodRefTest {    public static void main(String[] args) {       List persons = new ArrayList();       persons.add(new Person("Raja", 30));       persons.add(new Person("Jai", 25));       persons.add(new Person("Adithya", 20));       persons.add(new Person("Surya", 35));       persons.add(new ... 閱讀更多

如何在 Java 中使用 lambda 表示式迭代 List 和 Map 的元素?

raja
更新於 2020年7月11日 06:15:14

11K+ 次瀏覽

lambda 表示式是實現函式式介面的內聯程式碼,無需建立匿名類。在 Java 8 中,forEach 語句可以與 lambda 表示式一起使用,這將遍歷 Map 簡化為單個語句,並迭代列表的元素。forEach() 方法在 Iterable 介面中定義,並接受 lambda 表示式作為引數。示例(使用 Lambda 表示式的 List)import java.util.*; public class ListIterateLambdaTest {    public static void main(String[] argv) {       List countryNames = new ArrayList();       countryNames.add("India");       countryNames.add("England");       countryNames.add("Australia");     ... 閱讀更多

使用 Java 中帶有 Lambda 的 map() 方法將物件轉換為另一種型別?

raja
更新於 2020年7月11日 06:13:04

8K+ 次瀏覽

在 Java 8 中,我們可以使用 Stream 物件的 map() 方法和 lambda 表示式將物件轉換為另一種型別。map() 方法是流物件中的中間操作,因此我們需要一個終端方法來完成流。語法Stream map(Function

Java 中 Lambda 表示式的型別推斷?

raja
更新於 2020年7月11日 06:05:19

895 次瀏覽

型別推斷是指任何表示式的型別。例如,編譯器可以自動理解方法的返回型別或引數型別。由於 Java 已經知道函式式介面的單個抽象方法的預期引數型別,因此可以省略引數列表中的型別。語法 (var1, var2 …) -> { 方法體 } 在下面的示例中,我們可以按其最後一個字元對 String[] 陣列進行排序。示例import java.util.Arrays; public class TypeInferencingLambdaTest {    public static void main(String[] args) {       String[] names = {"Raja", "Jai", "Adithya", "Surya", "Chaitanya", "Ravi", "Krishna"};       Arrays.sort(names, (s1, ... 閱讀更多

在 Java 中,是否必須用 @FunctionalInterface 註解標記函式式介面?

raja
更新於 2020年7月10日 14:11:42

2K+ 次瀏覽

僅定義了一個抽象方法的介面稱為函式式介面。不必使用 @FunctionalInterface 註解標記函式式介面,編譯器不會丟擲任何錯誤。但最好使用 @FunctionalInterface 註解,以避免意外新增額外的方法。如果用 @FunctionalInterface 註解的介面有多個抽象方法,則會丟擲編譯時錯誤。語法@FunctionalInterface interface interface_name {    // 只有一個抽象方法宣告 }示例@FunctionalInterface interface Shape {    void printArea(int x); } public class SquareTest {    public static void main (String args[]) {       Shape square ... 閱讀更多

如何在 Java 中除錯 lambda 表示式?

raja
更新於 2020年7月10日 14:09:46

2K+ 次瀏覽

lambda 表示式由兩部分組成,一部分是引數,另一部分是程式碼或表示式。這兩部分由箭頭運算子 "->" 分隔。我們可以使用不同的 IDE,如 Netbeans、IntelliJ 和 Eclipse 來除錯 Java 中的 lambda 表示式。總是可以建立多行 lambda 表示式並使用 print 語句來顯示變數的值。偵錯程式還可以提供有關 Java 程式狀態的附加資訊。它允許在偵錯程式執行時修改某些變數。語法 (引數) -> 表示式   或 (引數) -> { 語句; } 示例import java.util.*; public class LambdaDebugTest { ... 閱讀更多

廣告
© . All rights reserved.