java:enum

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Enumerations ====== Τα //enumerations// στην είναι ένας ειδικός τύπος δεδομένων που χρησιμοποιείται για την απεικόνιση συνόλων σταθερών τιμών. Όλα τα //enumerations// είναι απόγονοι της κλάση [[http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html|java.lang.Enum]]. Μπορείτε να θεωρήσετε όλους τους enumerated τύπους ως ειδικές κλάσεις που μπορούν να περιέχουν πεδία αλλά και μεθόδους. Η πιο απλή δήλωση ενός enumerated τύπου είναι η παρακάτω. <code java LevelUsage.java> enum Level { HIGH, MEDIUM, LOW }; public class LevelUsage { public static void main(String []args) { Level level = Level.HIGH; System.out.println("level: "+level); } } </code> <WRAP tip 80% center round> Καθώς το //enum// αποτελεί από μόνο του τύπο δεδομένων μπορεί να αποθηκευτεί μόνο του σε αρχείο με το όνομα **Level.java**. Παρατηρήστε ότι κάθε τύπος enum δηλώνει μία σειρά από σταθερές. Οι μεταβλητές αυτού του τύπου μπορούν να λάβουν μόνο μία από τις διακριτές τιμές του συνόλου των σταθερών. </WRAP> Από τον παραπάνω κώδικα εξάγεται ότι οι μεταβλητές τύπου enum Level μπορούν να πάρουν τις τιμές **Level.HIGH**, **Level.MEDIUM** και **Level.LOW**. Αν θέλετε να χρησιμοποιήσετε τον τύπο //enum// σε εντολές //if// ή //switch// μπορείτε να το κάνετε ως εξής: <code java LevelUsage.java> enum Level { HIGH, MEDIUM, LOW }; public class LevelUsage { public static void main(String []args) { Level level = Level.HIGH; if(level == Level.HIGH) System.out.println("Level HIGH may be dangerous!"); if(level == Level.MEDIUM) System.out.println("Level MEDIUM is excellent!"); if(level == Level.LOW) System.out.println("Level LOW is safe."); } } </code> ή σε ένα switch <code java LevelUsage.java> enum Level { HIGH, MEDIUM, LOW }; public class LevelUsage { public static void main(String []args) { Level level = Level.HIGH; switch(level) { case HIGH: System.out.println("Level HIGH may be dangerous!"); break; case MEDIUM: System.out.println("Level MEDIUM is excellent!"); break; case LOW: System.out.println("Level LOW is safe."); break; } } } </code> Εάν θέλετε να διατρέξετε τις τιμές ενός enum μπορείτε να το κάνετε μέσω μίας εντολής //for// ως εξής: <code java LevelUsage.java> enum Level { HIGH, MEDIUM, LOW }; public class LevelUsage { public static void main(String []args) { Level level = Level.HIGH; for(Level l: Level.values()) System.out.println(l); } } </code> Για να εκτυπώσετε την τιμή ενός enum ως αλφαριθμητικό μπορείτε να χρησιμοποιήσετε τη μέθοδο //name//: <code java> enum Level { HIGH, MEDIUM, LOW }; public class LevelUsage { public static void main(String []args) { Level level = Level.HIGH; System.out.println("Current level is " + level.name()); } } </code> /* ===== Πεδία και μέθοδοι σε Enum ===== Ένας τύπος enum μπορεί να περιέχει πεδία, κατασκευαστές και μεθόδους ως εξής: <code java LevelUsage.java> enum Level { HIGH (3), //calls constructor with value 3 MEDIUM(2), //calls constructor with value 2 LOW (1); //calls constructor with value 1 private int levelCode; Level(int levelCode) { this.levelCode = levelCode+1; } public void setLevelCode(int lc) { levelCode = lc; } public int getLevelCode() { return this.levelCode; } public String toString() { return "My Level is: "+levelCode; } } public class LevelUsage { public static void main(String [] args) { } } </code> */ |Προηγούμενο: [[:java:σtring | Αλφαριθμητικά ]] | [[:toc | Περιεχόμενα]] | Επόμενο: [[:java:packages:intro | Πακέτα στη γλώσσα προγραμματισμού Java ]]|

java/enum.1457104240.txt.gz · Last modified: 2016/03/04 15:10 by doufexi