أحرف السلسلة كـ Stream
عالج أحرف السلاسل كخط أنابيب Stream.
مقارنة الكود
✕ Java 8
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isDigit(c)) {
process(c);
}
}
✓ Java 9+
str.chars()
.filter(Character::isDigit)
.forEach(c -> process((char) c));
هل ترى مشكلة في هذا الكود؟ أخبرنا.
لماذا يتفوق الأسلوب الحديث
قابل للتسلسل
استخدم filter و map و collect على تدفقات الأحرف.
تصريحي
صِف ما تريد فعله لا كيفية التكرار.
جاهز لـ Unicode
codePoints() يتعامل بشكل صحيح مع الرموز التعبيرية والأحرف التكميلية.
الأسلوب القديم
حلقة يدوية
الأسلوب الحديث
تدفق chars()
منذ JDK
9
الصعوبة
مبتدئ
دعم JDK
أحرف السلسلة كـ Stream
متاح
متاح منذ JDK 8+ (محسَّن في 9+)
كيف يعمل
تُرجع String.chars() تدفق IntStream من قيم الأحرف مما يُتيح المعالجة الوظيفية. لدعم Unicode تتعامل codePoints() مع الأحرف التكميلية بشكل صحيح.
توثيق ذو صلة