Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Java 1.5 Enum Tutorial

Il tipo enum è una nuova funzionalità nel linguaggio Java 1.5.0 , progettato per risolvere le debolezze nel modo in cui i valori enumerati sono stati trattati in precedenti versioni di Java . Nella sua forma più semplice , si adotta una struttura simile al tipo enum in linguaggi C -based , tuttavia , è molto più potente. L' oggetto Enum

Prima di passare a enumerazioni se stessi , è meglio per illustrare il problema che il nuovo tipo enum è stato creato per risolvere . Si consideri la seguente classe :

classe Calendar pubblico {
int dayOfWeek
GO

public int static final LUNEDI = 0
GO
public static final int MARTEDI = 1
GO
public static final int MERCOLEDI = 2
GO
....

vuoto setDayOfWeek ( int data) { ... } }


Questa classe memorizza il giorno della settimana, utilizzando una serie di costanti enumerate con valori interi di 0-7 , ciascuno corrispondente ad una giornata diversa , e si prevede che altri sviluppatori utilizzano questa classe useranno queste costanti quando si utilizza la classe . Tuttavia, nulla impone questo . Altre classi potevano ignorare le costanti , utilizzare i propri costanti ( a partire da Domenica , forse) per errore , o anche , come risultato di un bug , passare in \\ " 8 \\ " come un giorno della settimana , che permettono a un bug di propagarsi ulteriormente di quanto dovrebbe. E 'anche particolarmente poco esaustivo il debug , come il valore di \\ " dayOfWeek \\ " verrà stampato sulla console oa un debugger semplicemente come un intero che deve essere cercato nel codice sorgente . Enumerazioni sono concepiti per affrontare tutte queste questioni . La seguente è la stessa classe , utilizzando il tipo enum invece di un insieme di costanti enumerate :

classe Calendar pubblico {
public enum Day { LUNEDI , MARTEDI , MERCOLEDI , GIOVEDI , VENERDI , SABATO , DOMENICA
}
Giorno dayOfWeek

vuoto setDayOfWeek ( Giorno d ) { ... } }


Il codice di cui sopra , oltre ad essere più pulito e leggibile , risolve tutti i problemi sopra elencati con costanti enumerate . I clienti sono ora costretti a utilizzare solo i valori enumerati stessi, e debugger mostreranno il nome del valore enumerato e non un numero intero. Inoltre , enum hanno un certo numero di altri vantaggi . Ad esempio, possono essere utilizzati con il nuovo - per ogni caratteristica ciclo che è stato aggiunto in Java 1.5.0 . La classe Calendar potrebbe includere metodo come questo :

printDays void ( ) {
per il ( giorno d : Day.values ​​( ) ) {
System.out.println ( "Oggi è " + d )
GO
} }


Questo metodo scorrere tutti i giorni e stampare i loro nomi .

enumerazioni sono classi a sé stanti , che significa che possono avere i propri metodi e costruttori . Si consideri il seguente enum , che memorizza i personaggi in un gioco , che permette con una breve descrizione di quel personaggio :

public enum Character {
MYSTERIOUS_MAN ( " Alto, moro e bello . " ) ,
MYSTERIOUS_WOMAN ( " Indossare un abito rosso . " ) ,
PROTAGONISTA ( " Dashing ed eroico . " ) ,
ANTAGONISTA ( " Stillicidio male . ");

String descrizione
GO

caratteri ( String descrizione ) {
this.description = descrizione
GO

} }

 

Programmazione © www.354353.com