JavaRush /จาวาบล็อก /Random-TH /การสร้างลูปของคุณเองโดยใช้ Lambda Expressions ใน Java 8
gnev
ระดับ

การสร้างลูปของคุณเองโดยใช้ Lambda Expressions ใน Java 8

เผยแพร่ในกลุ่ม
ไม่มีโครงสร้างแบบง่ายใน Java สำหรับการทำซ้ำบางสิ่งจำนวน N ครั้ง แน่นอนว่าเราสามารถสร้าง for loop ได้ แต่ในกรณีส่วนใหญ่ เราไม่สนใจจริงๆ ว่าเราจะสร้างตัวแปรประเภทใดใน loop เราแค่อยากให้โค้ดบางส่วนถูกทำซ้ำ N ครั้ง เท่านี้ก็เรียบร้อย ด้วยการเปิดตัวนิพจน์แลมบ์ดาใน Java 8 คุณสามารถใช้สิ่งนี้: public class RepeatDemo { public static void main(String[] args) { // Повтор одной строки repeat(10, () -> System.out.println("HELLO")); // Повтор нескольких строк repeat(10, () -> { System.out.println("HELLO"); System.out.println("WORLD"); }); } static void repeat(int n, Runnable r) { for (int i = 0; i < n; i++) r.run(); } } มันอาจจะดูไม่น่าดูหรือชัดเจนเท่ากับลูปแบบเก่า แต่จะกำจัดตัวแปรพิเศษในลูปออกไป หาก Java 8 เท่านั้นที่จะก้าวไปอีกขั้นและจัดเตรียมไวยากรณ์ "ช็อคโกแลต" สำหรับอาร์กิวเมนต์ในนิพจน์แลมบ์ดา เราก็จะมีบางอย่างเช่นโค้ด Scala/Groovy ซึ่งจะทำให้โค้ดมองเห็นได้ชัดเจนยิ่งขึ้น ตัวอย่างเช่น: // Ну разве не здорово было бы иметь такую конструкцию в Java? repeat(10) { System.out.println("HELLO"); System.out.println("WORLD"); } แหล่งที่มา
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION