String.lines() لتقسيم الأسطر
استخدم String.lines() لتقسيم النص إلى Stream من الأسطر دون تكلفة regex.
مقارنة الكود
✕ Java 8
String text = "one\ntwo\nthree";
String[] lines = text.split("\n");
for (String line : lines) {
System.out.println(line);
}
✓ Java 11+
String text = "one\ntwo\nthree"; text.lines().forEach(IO::println);
هل ترى مشكلة في هذا الكود؟ أخبرنا.
لماذا يتفوق الأسلوب الحديث
بث كسول
الأسطر تُنتَج عند الطلب لا دفعةً واحدة كـ split().
نهايات أسطر عالمية
تتعامل مع \n و \r و \r\n تلقائياً دون regex.
تكامل Stream
تُرجع Stream للاستخدام المباشر مع filter و map و collect.
الأسلوب القديم
split("\\n")
الأسلوب الحديث
lines()
منذ JDK
11
الصعوبة
مبتدئ
دعم JDK
String.lines() لتقسيم الأسطر
متاح
متاح منذ JDK 11 (سبتمبر 2018).
كيف يعمل
تُرجع String.lines() تدفق Stream<String> من الأسطر مُقسَّمة بـ \n أو \r أو \r\n. أكثر كسلاً وكفاءةً من split() وتتجنّب تجميع regex وتتكامل بشكل طبيعي مع Stream API.
توثيق ذو صلة