16 Şubat 2021 Salı

Optional.filter metodu

Giriş
filter metodu Optional dolu ise ve predicate true ise dolu Optional döner, aksi halde boş Optional döner. Açıklaması şöyle.
If a value is present and it also matches the given predicate, then it returns an Optional describing the value. Otherwise, it returns an empty Optional.
Örnek - Metod Sonucunda Kullanma
Eskiden şöyle yapardık
public Optional<String> getPersonName() {
  Person person = getPerson();
  if (ALLOWED_NAMES.contains(person.getName())) {
    return Optional.ofNullable(person.getName());
  }
  return Optional.empty();
}
Şimdi şöyle yapıyoruz
public Optional<String> getPersonName() {
Person person = getPerson(); return Optional.ofNullable(person.getName()) .filter(ALLOWED_NAMES::contains); }
Örnek
Şöyle yaparız
a.filter(o -> b && c).ifPresent(list::add);

Hiç yorum yok:

Yorum Gönder