Typy wyliczeniowe w Javie-opracowanie

Nasza ocena:

3
Pobrań: 21
Wyświetleń: 441
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Typy wyliczeniowe w Javie-opracowanie - strona 1 Typy wyliczeniowe w Javie-opracowanie - strona 2

Fragment notatki:

Typy wyliczeniowe w Javie.
Stosowane wtedy gdy mamy do czynienia z zestawami stałych.
Najprostsza definicja :
public enum Kolor
{ trefl,karo,kier,pik }
Możliwe działania :
public class TestKolor
{
void test()
{ Kolor kolor= Kolor.trefl;
System.out.println(kolor+" "+kolor.name()+" "+kolor.ordinal()); kolor= Kolor.valueOf("karo");
System.out.println(kolor+" "+kolor.name()+" "+kolor.ordinal()); kolor= Enum.valueOf(Kolor.class,"kier");
System.out.println(kolor+" "+kolor.name()+" "+kolor.ordinal()); kolor= Kolor.values()[3];
System.out.println(kolor+" "+kolor.name()+" "+kolor.ordinal()); switch(kolor)
{ case trefl: System.out.println("wybraleś trefl "); break;
case karo: System.out.println("wybraleś karo "); break;
case kier: System.out.println("wybraleś kier "); break;
case pik: System.out.println("wybraleś pik "); break;
} for(Kolor k:Kolor.values())
System.out.println(k);
}
}
Możliwe jest definiowanie własnych metod ( przykład kolorów przy grze w tysiąca ) :
public enum Kolor
{
trefl("zoledz",60),
karo("dzwonek",80),
kier("czerwien",100),
pik("wino",40);
private String alias;
private int meldunek;
Kolor(String alias,int meldunek)
{this.alias=alias; this.meldunek=meldunek;}
String dajAlias()
{ return alias; }
int dajMeldunek()
{return meldunek;}
public static Kolor valueOfAlias( String s )
{ try { return valueOf( s ); }
catch ( IllegalArgumentException e )
{ for ( Kolor k : Kolor.values() )
if ( k.dajAlias().equals(s))
return k;
throw new IllegalArgumentException( " nieznany kolor : " + s );
}
}
}
public class TestKolor
{ void test()
{ Kolor kolor= Kolor.trefl;
System.out.println(kolor+" "+kolor.dajAlias()+" "+kolor.dajMeldunek());
kolor= Kolor.valueOfAlias("dzwonek");
System.out.println(kolor+" "+kolor.name()+" "+kolor.ordinal()); kolor= Kolor.valueOfAlias("kier");
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz