當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java Optional filter()用法及代碼示例

Java中的java.util.Optional類的filter()方法用於通過將此Optional實例的值與給定的謂詞進行匹配來過濾此Optional實例的值,然後返回已過濾的Optional實例。如果此Optional實例中沒有值,則此方法返回一個空的Optional實例。

用法:

public Optional<T> 
  filter(Predicale<T> predicate)

參數:此方法接受謂詞作為Predicate類型的參數,以以此過濾Optional實例。


返回值:此方法返回過濾後的Optional實例。如果此Optional實例中沒有值,則此方法返回一個空的Optional實例。

異常:如果指定的謂詞為null,則此方法引發NullPointerException。

以下示例程序旨在說明filter()方法:
示例1:

// Java program to demonstrate 
// Optional.filter() method 
  
import java.util.*; 
  
public class GFG { 
  
    public static void main(String[] args) 
    { 
  
        // create a Optional 
        Optional<Integer> op 
            = Optional.of(9456); 
  
        // print value 
        System.out.println("Optional: "
                           + op); 
  
        // filter the value 
        System.out.println("Filtered value "
                           + "for odd or even: "
                           + op 
                                 .filter(num 
                                         -> num % 2 == 0)); 
    } 
}
輸出:
Optional: Optional[9456]
Filtered value for odd or even: Optional[9456]

示例2:

// Java program to demonstrate 
// Optional.filter() method 
  
import java.util.*; 
  
public class GFG { 
  
    public static void main(String[] args) 
    { 
  
        // create a Optional 
        Optional<Integer> op 
            = Optional.empty(); 
  
        // print value 
        System.out.println("Optional: "
                           + op); 
  
        try { 
  
            // filter the value 
            System.out.println("Filtered value "
                               + "for odd or even: "
                               + op 
                                     .filter(num 
                                             -> num % 2 == 0)); 
        } 
        catch (Exception e) { 
            System.out.println(e); 
        } 
    } 
}
輸出:
Optional: Optional.empty
Filtered value for odd or even: Optional.empty

參考: https://docs.oracle.com/javase/9/docs/api/java/util/Optional.html#filter-java.util.function.Predicate-



相關用法


注:本文由純淨天空篩選整理自ShubhamMaurya3大神的英文原創作品 Optional filter() method in Java with examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。