Junior — Middle
Функсионалият кифояи flatMap дар синфи Optional чӣ гуна аст?
sobes.tech AI
Ҷавоб аз AI
Метод flatMap дар класи Optional дар Java имкон медиҳад, ки функсияеро, ки дигар Optional-ро бармегардонад, ба арзиши дар дохили Optional аслӣ татбиқ кунад ва Optional-и дарунсохтро ба як сатҳ "хомӯш" кунад.
Агар шумо Optional<T> ва функсия T -> Optional<U> дошта бошед, flatMap ин функсияро татбиқ мекунад ва Optional<U>-ро бармегардонад, ки ин ба пешгирии зериҳамвории Optional<Optional<U>> кӯмак мекунад.
Масалан:
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]
Агар map истифода мешуд, натиҷа Optional<Optional<Integer>> мешуд, ки барои кор бо он баъдтар нороҳат аст.