Hallo,
ich habe Modelle mit ganzzahligen Nummern. Nun habe ich mir gedacht, dass ein Enum geschickt wäre.
Man kann erkennen, die Modelle sind nicht von 1 bis n durchnummeriert. Ich kenne aus C++, dass man den Enum Elementen werte Zuweisen kann. Die obige Lösung gefällt mir nicht. Nehmen wir an es gäbe eine Funktion
, der Aufruf für BAND0x5 müsste so aussehen
. Das ist mehr Schreibarbeit als mir gefällt, außerdem sehe ich die Gefahr, dass jemand stattdessen
aufruft. Das würde der Compiler ja schlucken.
Nach meiner eigenen Recherche glaube ich nun, dass man die Nummerierung von Enums in Java nicht beeinflussen kann. Ist das richtig? Gibt es eine bessere Alternative?
Kann ich eine Subklasse von Enum benutzen wie ein enum?
viele Grüße
Michael
ich habe Modelle mit ganzzahligen Nummern. Nun habe ich mir gedacht, dass ein Enum geschickt wäre.
Java:
public enum Model {
PNEU0x1(0x1),
BAND0x3(0x1),
BAND0x5(0x1),
LINE0x7(0x1),
CRANE0x9(0x1),
BAND0x11(0x1),
BAND0x13(0x13),
CRANE0x15(0x15),
STAMP0x17(0x17),
LINE0x19(0x19),
BAND0x21(0x21),
BAND0x23(0x23),
CRANE0x25(0x25),
STAMP0x27(0x27),
LINE0x29(0x29);
private int serial;
private Models(int serial) {
this.serial = serial;
}
public int serial() {
return serial;
}
}
Man kann erkennen, die Modelle sind nicht von 1 bis n durchnummeriert. Ich kenne aus C++, dass man den Enum Elementen werte Zuweisen kann. Die obige Lösung gefällt mir nicht. Nehmen wir an es gäbe eine Funktion
Code:
doSomething(Model)
Code:
doSomething(BAND0x5.serial())
Code:
doSomething(BAND0x5)
Nach meiner eigenen Recherche glaube ich nun, dass man die Nummerierung von Enums in Java nicht beeinflussen kann. Ist das richtig? Gibt es eine bessere Alternative?
Kann ich eine Subklasse von Enum benutzen wie ein enum?
viele Grüße
Michael
Zuletzt bearbeitet: