Lahendatud: java hanki järgmine enum

hankige järgmine loend Programmeerimise maailmas on Java enumid mugav ja tõhus viis seotud konstantide rühma esindamiseks. Need pakuvad traditsioonilistele täisarvukonstantidele tugevat, tüübikindlat alternatiivi. Selles artiklis arutleme, kuidas saada konkreetse loendi konstandi korral järgmine enumi väärtus. Teeme läbi kogu protsessi, alates enum-klassi loomisest kuni eesmärgi saavutamiseks meetodi rakendamiseni. Lisaks uurime mõningaid levinumaid Java teeke ja funktsioone, mis võivad enumitega töötamisel abiks olla. Niisiis, sukeldugem enumite maailma ja saame paremini aru nende kasulikkusest ja rakendustest Java programmeerimiskeeles.

Probleemipüstituses

Arvestades enum-konstandit, on eesmärk leida jada järgmine enumi väärtus. Kui antud konstant on loendis viimane, siis tuleb järgmise väärtusena tagastada esimene enum väärtus.

Lahendus

Selle probleemi lahendamiseks loome näitena enum-klassi nimega DaysOfWeek. Seejärel lisame meetodi nimega getNext(), mis tagastab jada järgmise enumi väärtuse.

Siin on koodi samm-sammuline ülevaade:

1. Esmalt looge enum-klass nimega DaysOfWeek ja määrake selle enum-konstandid.

public enum DaysOfWeek {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}

2. Järgmisena lisage meetod getNext() DaysOfWeek enum klassi. See meetod tagastab järgmise loendi väärtuse praeguse loendi väärtuse alusel.

public enum DaysOfWeek {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;

    public DaysOfWeek getNext() {
        if (this.ordinal() == DaysOfWeek.values().length - 1) {
            return MONDAY;
        }
        return DaysOfWeek.values()[this.ordinal() + 1];
    }
}

3. Meetod getNext() töötab järgmiselt:
– Esmalt kontrollime, kas praegune enum väärtus on loendis viimane (võrreldes järgväärtust väärtuste massiivi pikkusega miinus 1).
– Kui praegune enumi väärtus on viimane, tagastame esimese loendi väärtuse (st ESMASPÄEV).
– Vastasel juhul tagastame väärtuste massiivi indekseerimiseks järgmise loendi väärtuse, kasutades järguväärtust.

Nüüd saame kasutada meetodit getNext() mis tahes enum-konstandi järgmise enumi väärtuse toomiseks.

Teekide ja funktsioonide kasutamine

Java pakub mitmeid teeke ja funktsioone, mis on kasulikud enumitega töötamisel. Siin on paar näidet:

EnumSet

  • Java EnumSet on spetsialiseerunud Määrake spetsiaalselt enumite jaoks loodud rakendus. See on väga tõhus ja pakub meetodeid hulgitoimingute tegemiseks, nagu komplement, liit, ristmik ja erinevus.

EnumMap

  • EnumMap on veel üks spetsiaalne kollektsioon, mis on loodud spetsiaalselt enumi võtmete jaoks. Sarnaselt EnumSetiga on see nii väga tõhus ja pakub märkimisväärseid jõudluse parandusi tavalise enum-klahvidega HashMapi kaudu. EnumMap säilitab ka oma võtmete loomuliku järjestuse.

Kokkuvõtteks võib öelda, et Java enumid pakuvad tüübikindlat, tõhusat ja mugavat viisi seotud konstantidega töötamiseks. Selles artiklis pakutav lahendus näitab, kuidas hankida järgmine loendi väärtus konkreetse loendi konstandi korral. Lisaks uurisime mõningaid võimsaid Java teeke ja funktsioone, mis aitavad meie tööd enumitega (nt EnumSet ja EnumMap) sujuvamaks muuta.

Seonduvad postitused:

Jäta kommentaar