Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Java 1.5 Enum Tutorial

    Den enum typ är en ny funktion i Java 1.5.0 språket , för att lösa brister i hur de uppräknade värdena hanteras i tidigare Java-versioner . I sin mest grundläggande , antar den en struktur som liknar den enum typ i C - baserade språk , men det är en mycket mer kraftfull . ENUM Object

    Innan vi går vidare till enums själva , är det bäst att illustrera problemet att den nya enum typ skapades för att lösa . Betrakta följande klass :

    public class Kalender {
    int dayOfWeek
    GO

    public static final int Måndag = 0
    GO
    public static final int tisdag = 1
    GO
    public static final int onsdag = 2
    GO
    ....

    void setDayOfWeek ( int datum ) { ... }
    }

    Denna klass lagrar veckodag hjälp av en uppsättning uppräknade konstanter med heltalsvärden på 0-7 , vart och ett motsvarande en annan dag , och det förväntas att andra utvecklare använder den här klassen kommer att använda dessa konstanter när du använder klassen . Emellertid verkställer ingenting här . Övriga klasser kan ignorera konstanter , använder sina egna konstanter ( som börjar med söndag , kanske ) av misstag , eller ens , som en följd av en bugg , skicka in \\ " 8 \\ " som en dag i veckan , vilket kan vara ett bugg för att propagera längre än det borde . Det är också särskilt uninformative i felsökning , eftersom värdet av \\ " dayOfWeek \\ " kommer att skrivas ut till konsolen eller en debugger helt enkelt som ett heltal som måste slås upp i källkoden . Enums är utformade för att ta itu med alla dessa frågor . Följande är samma klass , med hjälp av enum typ istället för en uppsättning uppräknade konstanter :

    public class Kalender {
    offentliga enum Day { måndag , tisdag , onsdag , torsdag , fredag ​​, lördag , söndag
    }
    Dag dayOfWeek

    void setDayOfWeek ( Dag d ) { ... }
    }

    Ovanstående kod , förutom att vara renare och mer lättläst , tar upp alla de problem som anges ovan med uppräknade konstanter . Kunderna tvingas nu att endast använda de uppräknade värdena själva , och felsökare visar uppräknade värdet namn och inte ett heltal . Dessutom enums har ett antal andra fördelar. Till exempel kan de användas med den nya för - varje slinga funktion som tillsattes i Java 1.5.0. Kalendern klass skulle kunna innefatta metod så här :

    void printDays () {
    för ( Dag d : Day.values ​​( ) ) {
    System.out.println ( "Idag är " + d )
    GO
    }
    }

    Denna metod kommer att iterera igenom alla dagar och skriva ut deras namn .

    Enums finns klasser i sin egen rätt , vilket innebär att de kan ha sina egna metoder och konstruktorer . Betrakta följande enum , som lagrar karaktärerna i en pjäs , vilket med en kort beskrivning av denna karaktär :

    offentliga enum Character {
    MYSTERIOUS_MAN ( " Tall , dark och vacker . " ) ,
    MYSTERIOUS_WOMAN ( " Iklädd en röd klänning . " ) ,
    HUVUDPERSON ( " Dashing och heroisk . " ) ,
    antagonist ( " Oozing onda . " ) ;

    String beskrivning
    GO

    Character ( String beskrivning) {
    this.description = Beskrivning
    GO
    }
    } Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man använder Storlek Arkiv Läs i Java
    ·Hur man utför Tree Verksamheten i Java
    ·Hur man skapar en abstrakt klass i NetBeans
    ·Java metod att dela upp kommatecken i en separerad Line…
    ·Hur man skapar en AVD Path i Android
    ·The Round metod i Java
    ·Hur man rita en cirkel i Java
    ·Hur man gör en privat Boolean i Java
    ·Konvertera Octal till Binary i Java
    ·Så här importerar ett paket Into en Eclipse Project
    Utvalda artiklarna
    ·Hur visa text från MySQL i PHP
    ·Hur Kopiera en lista med objekt i Python
    ·Hur man kompilerar och kör en CPP -fil i CMD
    ·Hur man skapar en databas i VB.Net
    ·VBA -macro Tips för Word 2007
    ·Hur konvertera en array i PHP
    ·Hur du tar bort dubbletter med Oracle SQL
    ·Hur man skriver enkla Visual Basic -koder
    ·Hur Infoga PHP variabler i XML
    ·Hur man skapar ett COBOL -program
    Copyright © Dator Kunskap http://www.dator.xyz