È una buona pratica scrivere un enum come file di classe in java?

0

Sto costruendo un enum Flower che contiene il set fisso di costanti per Fiori come descritto di seguito. Lo sto scrivendo in un file separato e importandolo in altre classi in modo che possa essere utilizzato attraverso il mio progetto.

È una buona pratica scrivere un enum in un file separato in Java. Qualcuno può darmi qualche consiglio su questo.

public enum Flower {

    Jasmine(1),
    Lotus(2),
    Lilly(3),
    Sunflower(4),
    Tulip(5),
    Daria(6);

    private int flowerValue;

    public Flower(int value) {
         this.flowerValue = value;
    }

    public int getFlowerValue() {
         return this.flowerValue;
    }

    public String getFlowerName() {
         return this.name();
    }
}
    
posta rm -rf star 21.03.2017 - 11:02
fonte

1 risposta

6

Sì, lo è assolutamente. È lo stesso delle solite classi e del polimorfismo:

// this code in approx. 100 places

int flowerValue;
switch(flower) {
    case Flower.Jasmine: flowerValue = 1; break;
    case Flower.Lotus:   flowerValue = 2; break;
    ...
    case Flower.Daria:   flowerValue = 6; break;
}

// good luck adding a new flower...

vs

// this code in approx. 100 places
int flowerValue = flower.getFlowerValue()

In questo caso particolare, sembra che flower.ordinal() funzionerebbe altrettanto bene.

    
risposta data 21.03.2017 - 11:54
fonte

Leggi altre domande sui tag