Sutthirak

Feb 6, 2014

อีกไม่นาน (ขณะที่กำลังเขียน) Oracle มีแผนที่ปล่อย Java 8 ออกสู่โลกแห่งการพัฒนา อีกหนึ่งความสามารถที่มาพร้อมกับ Java 8 ก็คือ Lamda Expression นักพัฒนา Java อาจจะคุ้นเคยกับการสร้าง inner class เพื่อใช้งานภาษา Java ดังตัวอย่างต่อไปนี้
class Outer {
  class Inner {
    public void main() {
      System.out.println("Hello World !");
    }
  }
}
แต่ใน Java 8 เราสามารถสร่าง inner class ขึ้นมาใช้งานได้อย่างง่ายดายขึ้นด้วย Lamda แบบนี้ก็ได้
public class Lambdas {
  public static void main(String... args) {
    Runnable r = new Runnable() {
      public void run() {
        System.out.println("Hello World !");
      }
    };
    r.run();
  }
}

หรือแบบสั้นสุดๆ แบบนี้ก็ได้อีกเช่นกัน
public static void main(String... args) {
    Runnable r2 = () -> System.out.println("Hello World !");
    r2.run();
} 

จะเห็นได้ว่า Lamda ใน Java 8 ช่วยให้สร้าง inner class ขึ้นมาใช้งานได้ง่ายขึ้นมากว่าเดิม ในครั้งหน้ามาดูกันต่อครับว่า Lamdas จะช่วยให้ชีวิตโปรแกรมเมอร์จาวาง่ายขึ้นยังไงได้อีกบ้าง