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

  • GavinMichaelBooth

    GavinMichael

    26 AĞUSTOS 2006
  • NCIX Tech Tips

    NCIX Tech Ti

    2 Ocak 2007
  • Drakinen

    Drakinen

    1 EYLÜL 2008