Heim Backend-Entwicklung XML/RSS-Tutorial Detaillierte Einführung in die Verwendung von Aufzählungen in Java

Detaillierte Einführung in die Verwendung von Aufzählungen in Java

Dec 19, 2016 pm 02:23 PM

Aufzählungsfunktionen

1. Die Verwendung von enum zum Definieren einer Aufzählungsklasse erbt standardmäßig die Klasse java.lang.Enum anstelle der Klasse Object. Unter diesen implementiert die Klasse java.lang.Enum zwei Schnittstellen: java.lang.Serializable und java.lang.Comparable

2. Der Konstruktor der Aufzählungsklasse kann den privaten Zugriffsmodifikator nur verwenden, wenn er konstruiert ist wird weggelassen Der Zugriffskontrollcharakter des Geräts wird standardmäßig von privat geändert.

3 Alle Instanzen der Aufzählungsklasse müssen explizit in der Aufzählungsklasse aufgeführt sein, andernfalls kann diese Aufzählungsklasse niemals Instanzen generieren . Wenn diese Instanzen aufgelistet sind, fügt das System automatisch öffentliche statische endgültige Änderungen hinzu, ohne dass Programmierer sie explizit hinzufügen müssen.

public enum Week {
    MON{
        public String toLocaleString(){
            return "星期一";
        }
    },TUES{
        public String toLocaleString(){
            return "星期二";
        }
    },WEB{
        public String toLocaleString(){
            return "星期三";
        }

    },THUR{
        public String toLocaleString(){
            return "星期四";
        }

    },FRI{
        public String toLocaleString(){
            return "星期五";
        }

    },SAT{
        public String toLocaleString(){
            return "星期六";
        }

    },SUN{
        public String toLocaleString(){
            return "星期日";
        }

    };
    public abstract String toLocaleString();
}

Durchlauf von Aufzählungen

public class EnumTest {
    public static void main(String[] args){
        for(Week w:Week.values()){
            System.out.println(w);
        }
    }
}

Gemeinsame Aufzählungsmethoden


int CompareTo-Methode

String name() gibt den Namen der Aufzählungsinstanz zurück

int ordinal() gibt den Index des Aufzählungswerts in der Aufzählung zurück

String toString() gibt den Instanznamen der größeren Aufzählung zurück als Name Häufig verwendet

public static valueOf()

public class EnumTest {
    public static void main(String[] args){
        Week day =Week.FRI;
        System.out.println(day);//FRI
        System.out.println(day.name());//FRI
        System.out.println(day.ordinal());//4
        System.out.println(Week.valueOf("SUN").toLocaleString());//星期日
        System.out.println(Week.values().length);//7  获取枚举长度
    }
}

Konstruktor der Aufzählung

public enum Gender {
    MALE("男"),FEMALE("女");
    private String name;
    private Gender(String name){
        this.name =name;
    }
    public String getName(){
        return this.name;
    }
    public String toString(){
        String name = null;
        switch(this){
        case MALE:
            name="男";
            break;
        case FEMALE:
            name="女";
            break;
        }
        return name;
    }

}

Umfassendes Anwendungsbeispiel der Aufzählung: Ampel

Detaillierte Einführung in die Verwendung von Aufzählungen in Java

public enum Lamp {
     /*每个枚举元素各表示一个方向的控制灯*/    
     S2N("N2S","S2W",false),S2W("N2E","E2W",false),E2W("W2E","E2S",false),E2S("W2N","S2N",false),
     /*下面元素表示与上面的元素的相反方向的灯,它们的“相反方向灯”和“下一个灯”应忽略不计!*/
     N2S(null,null,false),N2E(null,null,false),W2E(null,null,false),W2N(null,null,false),
     /*由南向东和由西向北等右拐弯的灯不受红绿灯的控制,所以,可以假想它们总是绿灯*/
     S2E(null,null,true),E2N(null,null,true),N2W(null,null,true),W2S(null,null,true);

     private Lamp(String opposite,String next,boolean lighted){
         this.opposite = opposite;
         this.next = next;
         this.lighted = lighted;
     }

 
     /*当前灯是否为绿*/    
     private boolean lighted;
     /*与当前灯同时为绿的对应方向*/    
     private String opposite;
     /*当前灯变红时下一个变绿的灯*/    
     private String next;
     public boolean isLighted(){
         return lighted;
     }

     /**
      * 某个灯变绿时,它对应方向的灯也要变绿
      */    
     public void light(){
         this.lighted = true;
         if(opposite != null){
             Lamp.valueOf(opposite).light();
         }
         System.out.println(name() + " lamp is green,下面总共应该有6个方向能看到汽车穿过!");

     }

     /**
      * 某个灯变红时,对应方向的灯也要变红,并且下一个方向的灯要变绿
      * @return 下一个要变绿的灯
      */    
     public Lamp blackOut(){
         this.lighted = false;
         if(opposite != null){
             Lamp.valueOf(opposite).blackOut();
         }        

         Lamp nextLamp= null;
         if(next != null){
             nextLamp = Lamp.valueOf(next);
             System.out.println("绿灯从" + name() + "-------->切换为" + next);            
             nextLamp.light();
         }
         return nextLamp;
     }
 }

Das Obige ist die detaillierte Einführung in die Verwendung von Aufzählungen in Java. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (m.sbmmt.com)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1510
276
Was ist eine Hashmap in Java? Was ist eine Hashmap in Java? Aug 11, 2025 pm 07:24 PM

AhasMapinjavaisadatastructurethatstoreskey-valuepairsforefficityRieval, Insertion und Delettion.itusushtheKey'ShashCode () methodTodeterminestoragelocationAnlowlowsaversaveryo (1) TimEcomplexityforget () und -Argine

Python Argparse erforderte Argument -Beispiel Python Argparse erforderte Argument -Beispiel Aug 11, 2025 pm 09:42 PM

Bei der Verwendung des ArgParse -Moduls können die bereitgestellten Parameter erreicht werden, indem erforderlich ist. 1. Verwenden Sie erforderliche = treu, um optionale Parameter (z. B. -Eingabe) zu setzen, um erforderlich zu sein. Wenn dies bei der Ausführung des Skripts nicht bereitgestellt wird, wird ein Fehler gemeldet. 2. Positionsparameter sind standardmäßig erforderlich, und es ist nicht erforderlich, erforderlich zu sein, die erforderliche = true; 3.. Es wird empfohlen, Positionsparameter für die erforderlichen Parameter zu verwenden. Gelegentlich werden die optionalen Parameter von erforderlich = true verwendet, um die Flexibilität aufrechtzuerhalten. 4. Erforderlich = True ist der direkteste Weg, um Parameter zu steuern. Nach der Verwendung muss der Benutzer beim Aufrufen des Skripts entsprechende Parameter bereitstellen, da das Programm ansonsten einen Fehler auffordert und beendet.

Was sind Kommentare in Java? Was sind Kommentare in Java? Aug 12, 2025 am 08:20 AM

KommentarinjavareignedByTheCompilerandusedForExplanation, Notizen, ordisablingcode.therearethreetypes: 1) Single-Linde-Deals startwith // und Lastuntiltheendoftheline; 2) Multi-Linde-Bingin-Dokumentation und-undcantranmultipline; 3) Dokumentation

So verwenden Sie Anforderungsparameter in Java mit Spring Boot So verwenden Sie Anforderungsparameter in Java mit Spring Boot Aug 11, 2025 pm 07:51 PM

Im Springboot umfassen die Methoden zur Verarbeitungsanforderungsparameter: 1. @RequestParam verwenden, um Abfrageparameter zu erhalten, die die erforderlichen, optionalen und Standardwerte unterstützt. 2. Empfangen Sie mehrere Parameter mit demselben Namen über List oder Kartentyp. 3. Binden Sie mehrere Parameter in Kombination mit @Modelattribute an das Objekt; 4. Verwenden Sie @PathVariable, um Variablen im URL -Pfad zu extrahieren. 5. Verwenden Sie @RequestParam, um die Formdaten in der Postanforderung zu verarbeiten. 6. Verwenden Sie MAP, um alle Anforderungsparameter zu empfangen. Die korrekte Auswahl der Anmerkungen kann angeforderte Daten effizient analysieren und die Entwicklungseffizienz verbessern.

Die besten IDES für Java -Entwicklung: eine vergleichende Überprüfung Die besten IDES für Java -Entwicklung: eine vergleichende Überprüfung Aug 12, 2025 pm 02:55 PM

Thebestjavaidein2024Dependyourneeds: 1.CHOOSEINTELLIJIDEAFORPROFESSIONAL, ENTERPRISE, Orull-StackDevelopmentDuetoitsSuperiorCodeIntelligence, Frameworkintegration, andtooling.2. Useclipseforhoxhensibilsibsibilität, LegacyPro-Eigenschaften, oderweigte, oderweigende, oderweilen, oderweilen, orwhenopenen-seourzatioten, legacyprojekts, orwhenopenen-seourzatioten, legacyprojekts, orwhenopenen-seourcatiatiox

So verwenden Sie die HTTPClient -API in Java So verwenden Sie die HTTPClient -API in Java Aug 12, 2025 pm 02:27 PM

Der Kern der Verwendung des Javahttpclientapi besteht darin, einen Httpclient zu erstellen, einen httprequest zu erstellen und httPesponse zu verarbeiten. 1. Verwenden Sie httpclient.newhttpclient () oder httpclient.newbuilder (), um Zeitüberschreitungen, Proxy usw. zu konfigurieren, um Clients zu erstellen. 2. Verwenden Sie httprequest.newbuilder (), um URI, Methode, Kopfzeile und Körper zu setzen, um Anfragen zu erstellen. 3.. Senden Sie synchrone Anfragen über Client.send () oder asynchrone Anfragen über Client.sendasync (); 4. Verwenden Sie Bodyhandlers.Ofstr

Rand nicht retten Geschichte Rand nicht retten Geschichte Aug 12, 2025 pm 05:20 PM

Erstens, check "clearBrowsingDataonclose" isturnedoninsettingsandTurnitofftoensurehistoryISSAVE.2.

Was ist eine Deadlock -Situation in Java und wie kann sie verhindert werden? Was ist eine Deadlock -Situation in Java und wie kann sie verhindert werden? Aug 11, 2025 pm 06:29 PM

Deadlock tritt in Java auf, wenn zwei oder mehr Fäden dauerhaft blockieren und auf die voneinander gehaltenen Ressourcen des anderen warten und eine kreisförmige Abhängigkeit bilden. 1. Vermeiden Sie verschachtelte Schlösser, erwerben Sie immer Schlösser in einer konsistenten Reihenfolge und verhindern Sie das Warten von Schleifen. 2. Verwenden Sie Trylock () mit Timeout, um den Thread aktiv zu beenden, wenn er das Schloss nicht erwerben kann. 3.. Reduzieren Sie den Umfang des Schlosses und geben Sie der Verwendung von lock-freien Strukturen wie Concurrenthashmap und Atomicinder Priorität. 4. Verwenden Sie Tools wie JStack und VisualVM, um Deadlocks zu erkennen, und kombinieren Sie die Tools für die Einheitstests und statische Analyse, um potenzielle Probleme zu finden. 5. Refactor den Code, um nicht gleichzeitig mehrere Schlösser zu halten, z. Durch Folgendes

See all articles