SORU
31 Ocak 2014, Cuma


Nasıl bir metot bir yüklem inkar etmek

Java 8, örneğin: bir akış filtresi için bir referans yöntemi kullanabilirsiniz

Stream<String> s = ...;
int emptyStrings = s.filter(String::isEmpty).count();

Orada mevcut bir yadsınması olduğu yöntem bir referans oluşturmak için bir yoldur, yani gibi bir şey:

int nonEmptyStrings = s.filter(not(String::isEmpty)).count();

Aşağıdaki gibi not yöntem yaratabilir ama eğer FIRSATLAR sunulan benzer bir şey soracaktım.

static <T> Predicate<T> not(Predicate<T> p) { return o -> !p.test(o); }

CEVAP
18 Mart 2014, Salı


Statik satır içi kullanılacak yöntem ve referans için izin almak için aşağıdaki planlıyorum:

public static <T> Predicate<T> not(Predicate<T> t) {
    return t.negate();
}

örneğin

Stream<String> s = ...;
long nonEmptyStrings = s.filter(not(String::isEmpty)).count();

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blendtec

    Blendtec

    30 EKİM 2006
  • Pocketnow

    Pocketnow

    14 EKİM 2007
  • SoundHound

    SoundHound

    8 Mart 2006