Streams مبتدئ

استخدم Predicate.not() لنفي مراجع الدوال بشكل نظيف بدلاً من تغليفات lambda.

✕ Java 8
List<String> nonEmpty = list.stream()
    .filter(s -> !s.isBlank())
    .collect(Collectors.toList());
✓ Java 11+
List<String> nonEmpty = list.stream()
    .filter(Predicate.not(String::isBlank))
    .toList();
هل ترى مشكلة في هذا الكود؟ أخبرنا.
👁

نفي أنظف

لا حاجة لتغليف مراجع الدوال في lambdas لمجرد نفيها.

🔗

قابل للتركيب

يعمل مع أي Predicate مما يُتيح سلاسل Predicate نظيفة.

📖

يُقرأ بشكل طبيعي

Predicate.not(String::isBlank) يُقرأ كاللغة الإنجليزية.

الأسلوب القديم
نفي lambda
الأسلوب الحديث
Predicate.not()
منذ JDK
11
الصعوبة
مبتدئ
Predicate.not()
متاح

متاح منذ JDK 11 (سبتمبر 2018).

قبل Java 11، كان نفي مرجع دالة يتطلب تغليفه في lambda. يتيح Predicate.not() نفي أي Predicate مباشرةً مع الإبقاء على الكود مقروءاً ومتّسقاً مع أسلوب مرجع الدالة.

مشاركة 𝕏 🦋 in