Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 和框架

Java 類參考

Java 有用資源

Java 11 - Lambda 表示式中使用 Var



Java 11 允許在 lambda 表示式中使用 var,它可以用於對區域性變數應用修飾符。

(@NonNull var value1, @Nullable var value2) -> value1 + value2

考慮以下示例 -

ApiTester.java

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

@interface NonNull {}

public class APITester {
   public static void main(String[] args) {		
      List<String> tutorialsList = Arrays.asList("Java", "HTML");

      String tutorials = tutorialsList.stream()
         .map((@NonNull var tutorial) -> tutorial.toUpperCase())
         .collect(Collectors.joining(", "));

      System.out.println(tutorials);
   }
}

輸出

Java
HTML

限制

在 lambda 表示式中使用 var 有一些限制。

  • var 引數不能與其他引數混合使用。以下將丟擲編譯錯誤。

(var v1, v2) -> v1 + v2
  • var 引數不能與其他型別引數混合使用。以下將丟擲編譯錯誤。

(var v1, String v2) -> v1 + v2
  • var 引數只能與括號一起使用。以下將丟擲編譯錯誤。

var v1 -> v1.toLowerCase()
廣告

© . All rights reserved.