找到 4330 篇文章 關於 Java 8

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

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

2K+ 次瀏覽

陣列是大小固定的相同型別元素的集合。lambda 表示式也可以用於在 Java 中初始化陣列。但是不能使用泛型陣列初始化。示例 1介面 Algebra {    int operate(int a, int b); } 公共類 LambdaWithArray1 {    公共靜態 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 語句中的方法的返回型別必須是函式式介面。示例 1公共類 LambdaReturnTest1 {    介面 Addition {       int add(int a, int b);    }    公共靜態 Addition getAddition() {       返回 (a, b) -> a + b; // lambda 表示式 return 語句    }    公共靜態 void main(String args[]) {       System.out.println("The ... 閱讀更多

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

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

549 次瀏覽

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

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

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

7K+ 次瀏覽

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

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

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

839 次瀏覽

方法引用是 Java 8 中的一個新特性,它與 Lambda 表示式相關。它允許我們引用建構函式或方法而不執行它們。方法引用和 lambda 表示式類似,因為它們都需要一個目標型別,該型別包含一個相容的函式式介面。語法類 :: 例項方法名示例匯入 java.util.*; 匯入 java.util.function.*; 公共類 ArbitraryObjectMethodRefTest {    公共靜態 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)匯入 java.util.*; 公共類 ListIterateLambdaTest {    公共靜態 void main(String[] argv) {       List countryNames = new ArrayList();       countryNames.add("India");       countryNames.add("England");       countryNames.add("Australia");     ... 閱讀更多

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

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

8K+ 次瀏覽

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

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

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

895 次瀏覽

型別推斷表示任何表示式的資料型別。例如,編譯器可以自動理解方法返回型別或引數型別。由於 Java 已經知道函式式介面的單個抽象方法的預期引數型別,因此可以省略引數列表中的型別。語法 (var1, var2 …) -> {方法體}在下面的示例中,我們可以按其最後一個字元對 String[] 陣列進行排序。示例匯入 java.util.Arrays; 公共類 TypeInferencingLambdaTest {    公共靜態 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_name {    // 只宣告一個抽象方法}示例@FunctionalInterface 介面 Shape {    void printArea(int x); } 公共類 SquareTest {    公共靜態 void main (String args[]) {       Shape square ... 閱讀更多

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

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

2K+ 次瀏覽

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

廣告
© . All rights reserved.