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ì chuyển đối giá trị của nó thành một giá trị khác. Tương tự như phương thức filter(), phương thức này sẽ trả về một đối tượng Optional với giá trị sau khi chuyển đổi.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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.map(x -> x.toLowerCase()) .filter(x -> x.contains("k")) .ifPresent(x -> System.out.println("Name: " + x)); } } |
Trong ví dụ trên, mình đã sử dụng phương thức map() để chuyển đổi giá trị của đối tượng Optional thành chữ thường hết, sau đó kiểm tra xem giá trị của nó có chứa ký tự “k” hay không? Nếu có thì in ra giá trị đó.
Các bạn có thể xem thêm về phương thức filter() và phương thức ifPresent() của đối tượng Optional để hiểu rõ hơn về ví dụ nhé.
Kết quả: