Jonas Nielsen wrote:
> Så vidt jeg har forstået kan man ikke bruge noget der minder om #define
> eller enum i Java. Hvad er så den pæneste måde at lave en variabel der
> f.eks. har tilstandende authorization, transaction og update ?
Den absolut pæneste (læs: sikreste) måde er at lave en "enum klasse", som
jeg kalder det:
class NoNameYet
{
static final AUTHORIZATION = new NoNameYet();
static final TRANSACTION = new NoNameYet();
static final UPDATE = new NoNameYet();
private NoNameYet()//konstruktor _skal_ være private
{}
}
Nu kan du bruge disse 3 som enum:
void doSomething( NoNameYet nny )
{
if( nny == NoNameYet.AUTHORISATION ){...}
else if( nny == NoNameYet.TRANSACTION ){...}
else if( nny == NoNameYet.UPDATE ){...}
}
Læg mærke til, at du altid er sikker på at nny er en af de 3, da der
ikke kan eksistere andre NoNameYet objekter.
Desværre kan du ikke bruge nny i et switch.
Ulrik Magnusson
--
"hvorfor er det stadig tilladt at høre klassisk musik ?"
'Mickey', dk.politik.indvandring
Visit my home page:
http://www.geocities.com/ulrikm