enum

ถ้ามองว่าคลาส (class) เป็นเซตของวัตถุ (นั่นคือ คลาสแมวประกอบด้วยวัตถุแมว คลาสหมาประกอบด้วยวัตถุสุนัข) ในเซตดังกล่าวจะมีวัตถุอยู่เป็นจำนวนมาก เพราะเมื่อเรา new หนึ่งครั้ง เราก็ได้วัตถุใหม่หนึ่งตัว

อีนัม (enum) ก็เป็นเซตของวัตถุเช่นกัน แต่ในเซตนี้จะมีวัตถุอยู่ไม่กี่ตัว เช่น อีนัมสัญญาณไฟจราจรมีวัตถุคือ แดง, เขียว, เหลือง เป็นต้น

public enum TrafficColor {
    Red, Green, Yellow
}

เมื่อเราประกาศตัวแปรที่เป็นอีนัม เราก็จะได้ตัวแปรที่เก็บค่าที่เป็นไปได้ไม่กี่ค่า เช่น ตัวแปร t ในโค้ดถัดไป สามารถเก็บค่าได้แค่ 3 ค่า คือ แดง เขียว เหลือง เท่านั้น

public class Test {
    public static void main(String[] args) {
        TrafficColor t = TrafficColor.Red;
        System.out.println(t);
    }
}

เราไม่สามารถกำหนดให้ตัวแปร t มีสีอื่นๆนอกจากสีที่กำหนดในอีนัมได้ ดังนั้นบรรทัดที่ 3 ของโค้ดถัดไปจึงคอมไพล์ไม่ผ่าน

public class Test {
    public static void main(String[] args) {
        TrafficColor t = TrafficColor.Blue;
        System.out.println(t);
    }
}

หนังสือ เขียนโปรแกรม Java เบื้องต้น

หนังสือ Java Keywords

หากจะนำข้อความไปใช้ ต้องแสดงที่มา และห้ามใช้ในเชิงพาณิชย์

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s