Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java-Enumerationen

Java-Enumerationen

In diesem Tutorial lernen wir Enumerationen in Java kennen. Wir werden anhand von Beispielen lernen, Aufzählungen und Aufzählungsklassen zu erstellen und zu verwenden.

In Java ist eine Aufzählung (kurz für Enumeration) ein Typ, der einen festen Satz konstanter Werte hat. Wir verwenden den enum Schlüsselwort zum Deklarieren von Aufzählungen. Zum Beispiel

enum Size { 
   SMALL, MEDIUM, LARGE, EXTRALARGE 
}

Hier haben wir eine Aufzählung namens Size erstellt . Es enthält feste Werte SMALL , MITTEL , GROSS , und EXTRALARGE .

Diese Werte in geschweiften Klammern werden Aufzählungskonstanten (Werte) genannt.

Hinweis: Die Aufzählungskonstanten werden normalerweise in Großbuchstaben dargestellt.


Beispiel 1:Java-Enumeration

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

class Main {
   public static void main(String[] args) {
      System.out.println(Size.SMALL);
      System.out.println(Size.MEDIUM);
   }
}

Ausgabe

SMALL
MEDIUM

Wie wir im obigen Beispiel sehen können, verwenden wir den Aufzählungsnamen, um auf die konstanten Werte zuzugreifen.

Außerdem können wir Variablen von Enum-Typen erstellen. Zum Beispiel

Size pizzaSize;

Hier, pizzaSize ist eine Variable der Size Typ. Es kann nur mit 4 Werten belegt werden.

pizzaSize = Size.SMALL;
pizzaSize = Size.MEDIUM;
pizzaSize = Size.LARGE;
pizzaSize = Size.EXTRALARGE;

Beispiel 2:Java Enum mit der switch-Anweisung

enum Size {
 SMALL, MEDIUM, LARGE, EXTRALARGE
}

class Test {
 Size pizzaSize;
 public Test(Size pizzaSize) {
   this.pizzaSize = pizzaSize;
 }
 public void orderPizza() {
   switch(pizzaSize) {
     case SMALL:
       System.out.println("I ordered a small size pizza.");
       break;
     case MEDIUM:
       System.out.println("I ordered a medium size pizza.");
       break;
     default:
       System.out.println("I don't know which one to order.");
       break;
   }
 }
}

class Main {
 public static void main(String[] args) {
   Test t1 = new Test(Size.MEDIUM);
   t1.orderPizza();
 }
}

Ausgabe

I ordered a medium size pizza.

Im obigen Programm haben wir einen Aufzählungstyp Size erstellt . Wir haben dann eine Variable pizzaSize deklariert der Größe Typ.

Hier die Variable pizzaSize kann nur mit 4 Werten belegt werden (SMALL , MITTEL , GROSS , EXTRAGROSS ).

Beachten Sie die Anweisung,

Test t1 = new Test(Size.MEDIUM);

Es wird Test() aufgerufen Konstruktor im Test Klasse. Nun, die Variable pizzaSize wird mit dem MEDIUM belegt konstant.

Basierend auf dem Wert wird einer der Fälle der switch case-Anweisung ausgeführt.


Enum-Klasse in Java

In Java werden Enum-Typen als besonderer Klassentyp betrachtet. Es wurde mit der Veröffentlichung von Java 5 eingeführt.

Eine Aufzählungsklasse kann wie normale Klassen Methoden und Felder enthalten.

enum Size {
    constant1, constant2, …, constantN;

    // methods and fields	
}

Wenn wir eine Enum-Klasse erstellen, erstellt der Compiler Instanzen (Objekte) jeder Enum-Konstante. Außerdem sind alle Aufzählungskonstanten immer public static final standardmäßig.


Beispiel 3:Java-Enum-Klasse

enum Size{
  SMALL, MEDIUM, LARGE, EXTRALARGE;

  public String getSize() {

    // this will refer to the object SMALL
    switch(this) {
      case SMALL:
        return "small";

      case MEDIUM:
        return "medium";

      case LARGE:
        return "large";

      case EXTRALARGE:
        return "extra large";

      default:
        return null;
      }
   }

  public static void main(String[] args) {

    // call getSize()
    // using the object SMALL
    System.out.println("The size of the pizza is " + Size.SMALL.getSize());
  }
}

Ausgabe

The size of the pizza is small

Im obigen Beispiel haben wir eine Enum-Klasse Size erstellt . Es hat vier Konstanten SMALL , MITTEL , GROSS und EXTRALARGE .

Seit Größe ist eine Aufzählungsklasse, der Compiler erstellt automatisch Instanzen für jede Aufzählungskonstante.

Hier in der main() -Methode haben wir die Instanz SMALL verwendet um die getSize() anzurufen Methode.

Hinweis Hinweis:Wie normale Klassen kann auch eine Aufzählungsklasse Konstruktoren enthalten. Um mehr darüber zu erfahren, besuchen Sie den Java-Aufzählungskonstruktor.


Methoden der Java Enum-Klasse

Es gibt einige vordefinierte Methoden in Enum-Klassen, die leicht verfügbar sind.

1. Java-Enum-Ordinalzahl()

Die ordinal() Die Methode gibt die Position einer Aufzählungskonstante zurück. Zum Beispiel

ordinal(SMALL) 
// returns 0

2. Enum-VergleichTo()

Die compareTo() -Methode vergleicht die Aufzählungskonstanten basierend auf ihrem Ordinalwert. Zum Beispiel

Size.SMALL.compareTo(Size.MEDIUM)
 // returns ordinal(SMALL) - ordinal(MEDIUM)

3. Enum toString()

Die toString() -Methode gibt die Zeichenfolgendarstellung der Aufzählungskonstanten zurück. Zum Beispiel

SMALL.toString()
// returns "SMALL"

4. Aufzählungsname()

Die name() -Methode gibt den definierten Namen einer Aufzählungskonstante in Zeichenfolgenform zurück. Der zurückgegebene Wert von name() Methode ist final . Zum Beispiel

name(SMALL)
// returns "SMALL"

5. Java-Enum valueOf()

Die valueOf() Die Methode nimmt einen String und gibt eine Aufzählungskonstante mit dem gleichen Stringnamen zurück. Zum Beispiel

Size.valueOf("SMALL")
// returns constant SMALL.

6. Enum-Werte()

Die values() -Methode gibt ein Array vom Typ Enum zurück, das alle Enum-Konstanten enthält. Zum Beispiel

Size[] enumArray = Size.value();

Warum Java-Enums?

In Java wurde enum eingeführt, um die Verwendung von int-Konstanten zu ersetzen .

Angenommen, wir haben eine Sammlung von int verwendet Konstanten.

class Size {
   public final static int SMALL = 1;
   public final static int MEDIUM = 2;
   public final static int LARGE = 3;
   public final static int EXTRALARGE = 4;
}

Hier entsteht das Problem, wenn wir die Konstanten drucken. Dies liegt daran, dass nur die Nummer gedruckt wird, was möglicherweise nicht hilfreich ist.

Anstatt also int-Konstanten zu verwenden, können wir einfach Aufzählungen verwenden. Zum Beispiel

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

Dadurch wird unser Code intuitiver.

Außerdem bietet enum Sicherheit beim Kompilieren .

Deklarieren wir eine Variable der Size Typ. Zum Beispiel

Size size;

Hier ist garantiert, dass die Variable einen der vier Werte enthält. Wenn wir nun versuchen, andere Werte als diese vier Werte zu übergeben, generiert der Compiler einen Fehler.


Java

  1. C Aufzählungen
  2. Java-Operatoren
  3. Java-Kommentare
  4. Java for-each-Schleife
  5. Java-Strings
  6. Java-Schnittstelle
  7. Anonyme Java-Klasse
  8. Java-Enumerationen
  9. Java-Enum-Konstruktor
  10. Java-Enum-Strings