Features ใหม่ของจาวา ใน JDK 7.0

Features ใหม่ของจาวา ใน JDK 7.0

javaseven-logo

หลังจากที่ oracle ซื้อ sun ไปก็รู้สึกเฉยๆไปไม่ค่อยมีอะไรดีขึ้น แต่องค์กรหรือนักพัฒนายังต้องใช้อยู่เพราะ java นั้นได้กินตลาดไปเยอะแล้วพอสมควร หลังจากที่ oracle ออก JDK 7.0 ออกมาผมก็ไม่ค่อยได้สนใจสักเท่าไร พอเริ่มกลับมาศึกษามันอีกครั้ง ก็พบรู้เล่นใน JDK เล็กๆน้อยซึ่งก็มีอยู่ 3 อย่างดังนี้

  1. syntax การประกาศ ArrayList
  2. การกำหนดค่าตัวเลขหลักล้านหรือตัวเลขเยอะๆ
  3. การ switch case string

เรามาดูกันเลยดีกว่า

1. syntax การประกาศ ArrayList ใน JDK รุ่นเก่าอย่าง 6.0 นั้นเวลาเราใช้ ArrayList ที่เก็บ object นั้นจะต้องใช้ syntax แบบนี้ครับ

[sourcecode language=”java”]

ArrayList studentList = new ArrayList();

[/sourcecode]

แต่ใน 7.0 นั้นตอน new ArrayList ในช่อง <> ไม่จำเป็นต้องใส่ชนิดของ object ที่เราจะเก็บแล้วนั้นคือ

[sourcecode language=”java”]

ArrayList studentList = new ArrayList<>();

[/sourcecode]

2. การกำหนดค่าตัวเลขหลักล้านหรือตัวเลขเยอะๆ

ใน jdk เก่านั้นหากกำหนดค่าตัวเลขที่มีหลักเยอะๆหากตาลายก็คงลำบาก เช่น

[sourcecode language=”java”]

double salary = 1000000000;

[/sourcecode]

แต่ใน 7.0 นั้นเราสามารถใช้เครื่องหมาย _ แทน , เหมือนในการเขียนตัวเลขที่เราใช้กัน นั้นคือ

[sourcecode language=”java”]

double salary = 1000_000_000;

[/sourcecode]

3. การ switch case string ในหลักแล้วส่วนใหญ่ภาษาใน C Family นั้นการใช้ switch case นั้นจะสามารถใช้ได้กับ data type int กับ char แต่ไม่สามารถใช้กับพวก string แต่ใน java 7.0 นั้นสามารถใช้ switch case กับ string ได้แล้วครับ แต่ยังไงก็ควรคิดให้ดีเพราะมันใช้ได้ใน 7.0 ดังนั้นต้องระวังเรื่องเครื่อง user ที่ทำการรันโปรแกรมของเรานั้นจะเป็น jre ที่รองรับรุ่นเดียวกันรึเปล่า

เอาละที่นี้ผมลองเขียนตัวอย่างมาให้ดูกัน

เริ่มแรกนั้นผมใช้ eclipse นั้นการลองเขียนโดยผมสร้าง Class Student ขึ้นมาเพื่อเป็น Class ที่จะสร้าง object ตัวอย่างในการใช้ ArrayList ดังนี้

[sourcecode language=”java”]
public class Student {

private String name;
private String lastname;

public Student(String name, String lastname)
{
this.name = name;
this.lastname = lastname;
}

public String display()
{
return name + ” ” + lastname;
}

public String getName()
{
return name;
}
}
[/sourcecode]

ตอนจากนั้นผมก็สร้าง Class Main เพื่อทดสอบการรันโปรแกรมของเราโดยมีโค้ดดังนี้

[sourcecode language=”java”]

import java.text.NumberFormat;
import java.util.ArrayList;

public class Main {

public static void main(String arg[])
{
System.out.println(“Thaicoding.net”);

//ArrayList
ArrayList studentList = new ArrayList<>();

for(int i=0; i < 5; i++) { studentList.add(new Student("student"+i,"lastname"+i)); } for(int i=0; i < 5; i++) { System.out.println(studentList.get(i).display()); //Switch Case switch (studentList.get(i).getName()) { case "student1": System.out.println("One"); break; case "student2": System.out.println("Two"); break; default: System.out.println("Other"); break; } } //Number setting double salary = 1000_000_000; NumberFormat formatter = NumberFormat.getInstance(); System.out.println(formatter.format(salary)); } } [/sourcecode] java 7.0

จากตัวอย่างจะเห็นการใช้ Syntax ของ ArrayList เท่าให้เราเขียนโค้ดได้สั้นขึ้น ส่วนการกำหนดค่าตัวเลขที่หลักเยอะเราก็สามารถใช้เครื่องหมาย _ ในการแบ่งหลักตัวเลขที่ละ 3 ตัวโดยในตัวอย่างนั้นได้ใช้  NumberFormat เพื่อเวลาแสดงผมจะได้เห็นเหมือนตัวเลขที่แบ่งหลักด้วย , นั้นเองเพราะถ้า print ธรรมดานั้นจะแสดงเป็นตัวเลขยกกำลัง e ครับ ส่วนการ switch case นั้นก็จะเห็นว่าจะเป็นประโยชน์สำหรับโปรแกรมที่จัดการกับสตริงนั้นเอง

Download SourceCode

Leave a Reply

Your email address will not be published. Required fields are marked *