Phương thức này đầu tiên sẽ kiểm tra đối tượng Optional của chúng ta có rỗng hay không? Nếu không rỗng thì tiếp tục kiểm tra giá trị của nó có thoả mãn 1 điều kiện nào đó hay không? Nếu thoả mãn thì sẽ trả về một đối tượng Optional chứa giá trị này, ngược lại sẽ trả về một đối tượng Optional rỗng.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
package com.huongdanjava.javaexample; import java.util.Optional; public class Example { public static void main(String[] args) { String s = new String("Khanh"); Optional<String> opt = Optional.ofNullable(s); opt.filter(x -> x.contains("K")) .ifPresent(x -> System.out.println("Name: " + x)); } } |
Trong ví dụ trên, chúng ta đã sử dụng phương thức filter() của đối tượng Optional để kiểm tra xem chuỗi s có chứa ký tự “K” hay không? Nếu chứa thì in ra toàn bộ chuỗi.
Xem thêm về phương thức ifPresent() của đối tượng Optional ở đây nhé các bạn!
Kết quả: