Sobes.tech
Junior — Middle

Optional sınıfında flatMap yöntemi hangi işlevselliği gerçekleştirir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da Optional sınıfındaki flatMap yöntemi, başka bir Optional döndüren bir fonksiyonu, orijinal Optional içindeki değere uygulamaya ve iç içe geçmiş Optional'ı tek seviyeye "açmaya" olanak tanır.

Eğer elinizde Optional<T> ve T -> Optional<U> türünde bir fonksiyon varsa, flatMap bu fonksiyonu uygular ve Optional<U> döner, böylece Optional<Optional<U>> iç içe geçmesini önler.

Örnek:

Optional<String> optional = Optional.of("123");

Optional<Integer> result = optional.flatMap(s -> {
    try {
        return Optional.of(Integer.parseInt(s));
    } catch (NumberFormatException e) {
        return Optional.empty();
    }
});

System.out.println(result); // Optional[123]

Eğer map kullanılsaydı, sonuç Optional<Optional<Integer>> olurdu, bu da sonraki işlemler için kullanışlı değildir.