User Tools

Site Tools


java:enum

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:enum [2016/02/26 12:53] gthanosjava:enum [2022/02/24 12:44] (current) gthanos
Line 1: Line 1:
 ====== Enumerations ====== ====== Enumerations ======
  
-Τα //enumerations// στην είναι ένας ειδικός τύπος δεδομένων που χρησιμοποιείται για την απεικόνιση συνόλων σταθερών τιμών. Όλα τα //enumerations// είναι απόγονοι της κλάση [[http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html|java.lang.Enum]]. Μπορείτε να θεωρήσετε όλους τους enumerated τύπους ως ειδικές κλάσεις που μπορούν να περιέχουν πεδία αλλά και μεθόδους.+Τα //enumerations// για την Java είναι ένας ειδικός τύπος δεδομένων που χρησιμοποιείται για την απεικόνιση συνόλων σταθερών τιμών. Όλα τα //enumerations// είναι απόγονοι της κλάσης [[http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html|java.lang.Enum]]. Μπορείτε να θεωρήσετε όλους τους enumerated τύπους ως κλάσεις ειδικού σκοπού που μπορούν να περιέχουν πεδία αλλά και μεθόδους
 + 
 +Η πιο απλή δήλωση ενός enumerated τύπου είναι η παρακάτω
  
-Η πιο απλή δήλωση ενός enumerated τύπου είναι η παρακάτω. 
 <code java LevelUsage.java> <code java LevelUsage.java>
 enum Level { HIGH, MEDIUM, LOW }; enum Level { HIGH, MEDIUM, LOW };
  
-public class LevelUsage { +class LevelUsage { 
-  public static void main(String []args) {+  static void main(String []args) {
     Level level = Level.HIGH;     Level level = Level.HIGH;
     System.out.println("level: "+level);     System.out.println("level: "+level);
Line 16: Line 17:
  
 <WRAP tip 80% center round> <WRAP tip 80% center round>
-Καθώς το //enum// αποτελεί από μόνο του τύπο δεδομένων μπορεί να αποθηκευτεί μόνο του σε αρχείο με το όνομα //Level.java//.+Καθώς το //enum// αποτελεί από μόνο του τύπο δεδομένων μπορεί να αποθηκευτεί μόνο του σε αρχείο με το όνομα **Level.java**. 
 + 
 +Παρατηρήστε ότι κάθε τύπος enum δηλώνει μία σειρά από σταθερές. Οι μεταβλητές αυτού του τύπου μπορούν να λάβουν μόνο μία από τις διακριτές τιμές του συνόλου των σταθερών.
 </WRAP> </WRAP>
  
-Από τον παραπάνω κώδικα εξάγεται ότι οι μεταβλητές τύπου enum Level μπορούν να πάρουν τις τιμές Level.HIGH, Level.MEDIUM και Level.LOW. Αν θέλετε να χρησιμοποιήσετε τον τύπο enum σε //if// ή //switch// statements μπορείτε να το κάνετε ως εξής:+Από τον παραπάνω κώδικα εξάγεται ότι οι μεταβλητές τύπου enum Level μπορούν να πάρουν τις τιμές **Level.HIGH****Level.MEDIUM** και **Level.LOW**. Αν θέλετε να χρησιμοποιήσετε τον τύπο //enum// σε εντολές //if// ή //switch//  μπορείτε να το κάνετε ως εξής:
  
 <code java LevelUsage.java> <code java LevelUsage.java>
 enum Level { HIGH, MEDIUM, LOW }; enum Level { HIGH, MEDIUM, LOW };
  
-public class LevelUsage { +class LevelUsage { 
-  public static void main(String []args) {+  static void main(String []args) {
     Level level = Level.HIGH;     Level level = Level.HIGH;
     if(level == Level.HIGH)      if(level == Level.HIGH) 
Line 37: Line 40:
 </code> </code>
  
-ή+ή σε μία εντολή **switch** 
 <code java LevelUsage.java> <code java LevelUsage.java>
 enum Level { HIGH, MEDIUM, LOW }; enum Level { HIGH, MEDIUM, LOW };
  
-public class LevelUsage { +class LevelUsage { 
-  public static void main(String []args) {+  static void main(String []args) {
     Level level = Level.HIGH;     Level level = Level.HIGH;
     switch(level) {     switch(level) {
Line 58: Line 62:
 } }
 </code> </code>
 +
 +Εάν θέλετε να διατρέξετε τις τιμές ενός enum μπορείτε να το κάνετε μέσω μίας εντολής //for//, όπως παρακάτω:
 +
 +<code java LevelUsage.java>
 +enum Level { HIGH, MEDIUM, LOW };
 +
 +class LevelUsage {
 +  static void main(String []args) {
 +    Level level = Level.HIGH;
 +    for(Level l: Level.values()) 
 +      System.out.println(l);
 +  }
 +}
 +</code>
 +
 +Για να εκτυπώσετε την τιμή ενός enum ως αλφαριθμητικό μπορείτε να χρησιμοποιήσετε τη μέθοδο [[https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#name--|name]] της κλάσης [[http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html|java.lang.Enum]]:
 +<code java>
 +enum Level { HIGH, MEDIUM, LOW };
 +
 +class LevelUsage {
 +  static void main(String []args) {
 +    Level level = Level.HIGH;
 +    System.out.println("Current level is " + level.name());
 +  }
 +}
 +</code>
 +
 +
 +|Προηγούμενο: [[:java:toString | Η μέθοδος toString ]] | [[:toc | Περιεχόμενα]] | Επόμενο: [[java:wrapper_classes | Βασικοί τύποι δεδομένων και ισοδύναμοι αναφορικοί τύποι ]]|
  
  
java/enum.1456491205.txt.gz · Last modified: 2016/02/26 12:53 (external edit)