[JAVA] Was ist Fat⁉ enum?

Domo ist Fugito.

In letzter Zeit treibe ich jeden Tag das objektorientierte Lernen voran. Während ich fortfahre, weder Klasse noch Schnittstelle, Stieß auf einen Typ namens enum.

Als ich es nachgeschlagen habe, wurde es "Aufzählungstyp" genannt.

Aufzählungstyp?

Der Aufzählungstyp ist weder Klasse noch Schnittstelle "Deklaration der dritten Klasse". Das Merkmal ist, dass ** eine Instanz dieses Typs gleichzeitig mit der Deklaration erstellt wird ** Das ist. Und danach sind Instanzen dieses Typs roh Es kann nicht erstellt werden, und es kann nur die zum Zeitpunkt der Deklaration erstellte Instanz verwendet werden. Diese "Eigenschaft, dass der falsche Wert nicht verwendet werden kann" wird durch "** Typensicherheit" garantiert. Es heißt (anscheinend) ** ".

public enum Language{
    JAPANESE,
    ENGLISH,
    CHINESE
}

↑ Zum Zeitpunkt der Deklaration, Sprachtypinstanz "JAPANISCH", "ENGLISH" und "CHINESE" werden erstellt. Das für jedes Genie Danach können Sie keine neue Instanz des Sprachtyps erstellen.

Wie benutzt man

Bei Verwendung einer Aufzählungstypinstanz "(Typname). (Enumerator = Instanzname)" Beschreibe so. Denn eine Instanz eines Aufzählungstyps ist, wenn der Typ deklariert wird Weil es eine statische Instanz ist, die (anscheinend) existiert.

import java.util.Arrays;
import java.util.List;

public class UseEnum{
    public static void main(String[] args){
        List<Country> list = Arrays.asList(
                             new Country("Japan", Language.JAPANESE),
                             new Country("America", Language.ENGLISH),
                             new Country("England", Language.ENGLISH),
                             new Country("CHINA", Language.CHINESE) );
        list.forEach(System.out::println);
    }
}

Zusammenfassung

・ Der Aufzählungstyp enum ist eine der Klassendeklarationen -Das Feature ist, dass "eine Instanz gleichzeitig mit der Typdeklaration erstellt wird" ・ "Typensicherheit ist garantiert", dass "falscher Wert nicht angegeben werden kann" ""

(P.S.) Ich werde mehr lernen (+ o +)

Recommended Posts

Was ist Fat⁉ enum?
Was ist ein Konstruktor?
Was ist ein Stream?
Was ist ein Servlet?
Was ist eine Wrapper-Klasse?
Was ist ein boolescher Typ?
Was ist ein Ruby-Modul?
Was ist ein Gleitkomma?
Was ist eine JAR-Datei?
Was ist ein Lambda-Ausdruck?
Was ist ein Ausschnitt in der Programmierung?
Was ist ein Boolescher Spaltentyp?
Was ist eine Referenztypvariable?
Was ist ein Lambda-Ausdruck (Java)
Was ist ein zweidimensionales Ruby-Array?
Was ist Cubby?
Was ist eine Klasse in der Java-Sprache (3 /?)
Was ist null? ]]
Was ist ein Terminal? -Absoluter Pfad & relativer Pfad-
Was ist eine Spring Boot-Originaldatei?
Was ist java
Was ist Schlüsselumhang?
Was ist Maven?
Was ist Jackson?
[Für Programmieranfänger] Was ist eine Methode?
Was ist Selbst
Was ist ArgumentMatcher?
Was ist IM-Jonglieren?
Was ist eine Klasse in der Java-Sprache (1 /?)
Was ist params
Was ist SLF4J?
Was ist eine Klasse in der Java-Sprache (2 /?)
Was ist Fassade? ??
Was ist Gradle?
Was ist POJO?
Was ist java
Was ist centOS?
[Rails] Was ist ein Punkt (.) Oder ein Doppelpunkt (:)?
Was ist before_action?
Was ist Docker?
Was ist Tomcat?
Einführung in rekursive Funktionen: Was ist eine rekursive Funktion?
Was ist Maven Assembly?
Was ist Docker-Compose?
Was ist vue cli
Was ist eine Schnittstelle?
Was ist Rubys Selbst?
Was ist harte Codierung?
Was ist Rubys attr_accessor?
Was ist Java-Kapselung?
Was ist Instanzsteuerung?
Was ist ein Initialisierer?
Was ist Spring Tools 4?
Was ist ein Operator?
Was ist Objektorientierung?
Was ist Guavas @VisibleForTesting?