Simple Enum Fragen

Status
Nicht offen für weitere Antworten.

Tomas

Bekanntes Mitglied
Java:
public enum PositionAttributes 
	{ 
	  Location_X( 0 ), Location_Y( 1 ), DIMENSION_X( 3 ), DIMENSION_Y( 4 ); 
	 
	  private int value; 
	 
	  private PositionAttributes( int value ) 
	  { 
	    this.value = value; 
	  } 
	 
	  public int getValue() 
	  { 
	    return this.value; 
	  } 
	}

Java:
switch(((EAttribute)notification.getFeature()).getFeatureID()){
				case PositionAttributes.Location_X:break;
				case PositionAttributes.Location_Y:break;
				case PositionAttributes.DIMENSION_X:break;
				case PositionAttributes.DIMENSION_Y:break;
				}

Das Enum soll nur eine Reihe von Konstanten anzeigen um eine bessere Übersicht zu gewährleisten. doch es funktioniert nicht so wie ich es mir vorgestellt habe.

Fehler bei case: Type mismatch: cannot convert from RectangleEditPart.PositionAttributes to int

und mit der Methode getValues(), sagt er mir das nur Fixe werte im case x: stehen dürfen.

Danke
 
S

SlaterB

Gast
mache es so:

Java:
PositionAttributes p = findAttForId(getFeatureID());
if (p == null) {
  ..
} else {
  switch (p) {
    case Location_X:
    case Location_Y:
  }
}
verschiebt das Problem sicherlich nur nach findAttForId(),
dort gehe so vor:

durchlaufe alle PositionAttributes-Objekte (statische Methode values() liefert ein Array),
vergleiche die Id, wenn gefunden dann fertig, sonst am Ende null zurückgeben

diese for-Schleife über alle Enums kannst du auch anstelle des switch verwenden,
 

hdi

Top Contributor
getFeatureID() muss den Rückgabetyp PositionAttributes haben, nicht int.
 

Tomas

Bekanntes Mitglied
ich will das problem nicht verschieben, ich will es mit enums lösen, und getFeatureId() ist eine Methode die ich nicht verändern kann, also der rückgabewert bleibt ein integer.
 

Noctarius

Top Contributor
Aber ohne Zusatzmethode geht das eben nicht. Ein switch erwartet einen statischen Vergleichswert und das ist der int eben nicht.

Also:
Java:
public enum PositionAttribute {
    LocationX,
    LocationY,
    DimensionX,
    DimensionY;

    public static final PositionAttribute findById(int id) {
        for (PositionAttribute pa : PositionAttributes.values()
            if (pa.ordinal() == id) // eventuell pa.ordinal() + 1, da ordinal 0-based ist
                return pa;
        return null; // eventuell Standard Attribute-Typ
    }
}

switch (PositionAttribute.findById(getFeatureId())) {
    case PositionAttribute.LocationX:
        // ...
        break;
}
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Variablen HttpResponse.getBody() wird automatisch org.json Object und kann nicht zu json.simple Object gecastet werden? Java Basics - Anfänger-Themen 7
S Simple Rechnung ist fehlerhaft! Java Basics - Anfänger-Themen 13
F Simple Verschluesselung Java Basics - Anfänger-Themen 2
T Erste Schritte Simple Programmbeispiele Java Basics - Anfänger-Themen 14
D Java - Simple Strings in .txt loggen. Java Basics - Anfänger-Themen 4
M Simple Date Format Java Basics - Anfänger-Themen 2
K "Simple" Rechnung in Java Java Basics - Anfänger-Themen 3
S Simple aber komplette Java Loesung von Emails. Java Basics - Anfänger-Themen 11
Beckenbauer Eine anstehende (sehr simple) Applikation in UML darstellen (Klassendiagramm) Java Basics - Anfänger-Themen 20
M Wieso funktioniert dieser simple Code nicht? Java Basics - Anfänger-Themen 9
nrg Eigene simple List-Klasse programmieren Java Basics - Anfänger-Themen 3
J Simple Frage: Positive Zahlen zu Negativen machen. Java Basics - Anfänger-Themen 11
S 3 simple fragen Java Basics - Anfänger-Themen 6
Darth Simple Übergabe eines Strings an eine Methode Java Basics - Anfänger-Themen 3
G super operator und incompatible types, simple fehler Java Basics - Anfänger-Themen 8
J simple Frage zu synchronized Java Basics - Anfänger-Themen 4
T Ganz simple Konstruktoraufgabe Java Basics - Anfänger-Themen 3
G simple suche in java - mysql Java Basics - Anfänger-Themen 10
M Simple Animation funktioniert nicht (JFrame, Canvas, Thread) Java Basics - Anfänger-Themen 6
M Simple Java Basics - Anfänger-Themen 7
K Simple Frage zu Methoden und Rückgabewerte Java Basics - Anfänger-Themen 3
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
volcanos enum und switch (neu): falschen Wert mit IllegalArgumentException oder mit EnumConstantNotPresentException abfangen ? Java Basics - Anfänger-Themen 51
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
S Java Enum Java Basics - Anfänger-Themen 2
I Validation, ob String ein Wert aus einem Enum enthält Java Basics - Anfänger-Themen 3
V Enum Java Basics - Anfänger-Themen 1
C Farben als Enum Java Basics - Anfänger-Themen 3
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
I JAXB und Enum Java Basics - Anfänger-Themen 7
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
B Enum innerhalb einer Klasse / anderes Konzept Java Basics - Anfänger-Themen 8
N Enum Typen, was passiert intern mit ihnen? Java Basics - Anfänger-Themen 2
A enum Java Basics - Anfänger-Themen 6
O Enum Array Rekursiv abarbeiten Java Basics - Anfänger-Themen 44
B ENUM to List<String> konvertieren Java Basics - Anfänger-Themen 2
N Java Enum converter Methode Java Basics - Anfänger-Themen 5
F Enum von Ländern Java Basics - Anfänger-Themen 8
J Klassen Enum als Informationsträger Java Basics - Anfänger-Themen 10
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
R Enum ist das gleiche wie? Java Basics - Anfänger-Themen 15
P Klassen Richtige Anwendung einer Enum-Klasse Java Basics - Anfänger-Themen 11
E Datentypen Problem beim Speichern von enum. Java Basics - Anfänger-Themen 10
J Compiler-Fehler class interface or enum expected Java Basics - Anfänger-Themen 1
E Objektvergleich Enum Java Basics - Anfänger-Themen 7
kilopack15 Euromünzen in enum als Liste ausgeben Java Basics - Anfänger-Themen 11
N Enum als generischer Typ Java Basics - Anfänger-Themen 4
H Datentypen Fehler bei Verwendung von enum Java Basics - Anfänger-Themen 9
lBlKha0s Fehlermeldung : class interface or enum expected Java Basics - Anfänger-Themen 9
T error: class, interface, or enum expected Java Basics - Anfänger-Themen 5
S Menüauswahl per Enum Java Basics - Anfänger-Themen 12
F Enum via String definieren Java Basics - Anfänger-Themen 2
L Compiler-Fehler error: class, interface or enum expected Java Basics - Anfänger-Themen 2
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
M Enum-Variabel-Abfrage funktioniert nicht? Java Basics - Anfänger-Themen 2
P Fallunterscheidung mit Überprüfung (enum) Java Basics - Anfänger-Themen 11
H enum Type Java Basics - Anfänger-Themen 6
F Operatoren Enum aus Textdabei laden Java Basics - Anfänger-Themen 3
P enum: cannot be resolved to a type Java Basics - Anfänger-Themen 2
kaoZ Variablen Konstantensammlung vs. Enum Java Basics - Anfänger-Themen 9
H Enum außerhalb einer Klasse? Java Basics - Anfänger-Themen 2
K OOP Aufzählungstypen! enum Currency!!! Java Basics - Anfänger-Themen 5
F ENUM als Variable Java Basics - Anfänger-Themen 4
M Enum: Zugriff auf Konstanten Java Basics - Anfänger-Themen 7
W Enum Konstruktor Type Java Basics - Anfänger-Themen 2
A Erste Schritte ENUM - Werte zurückgeben Java Basics - Anfänger-Themen 5
D Enum als Parameter Java Basics - Anfänger-Themen 6
B Variablen Instanz von Enum zur Laufzeit erstellen und zuweisen Java Basics - Anfänger-Themen 2
B Datentypen Enum vererben/gruppieren? Java Basics - Anfänger-Themen 6
F Datentypen enum Java Basics - Anfänger-Themen 5
J Enum zählen Java Basics - Anfänger-Themen 8
D Einlesen eines Enum-Wertes per console Java Basics - Anfänger-Themen 3
K String mit ENUM vergleichen? Java Basics - Anfänger-Themen 6
N enum vergleiche Klammern? Java Basics - Anfänger-Themen 5
J public enum? in Java Java Basics - Anfänger-Themen 9
D Erste Schritte Enum - das unbekannte Wesen Java Basics - Anfänger-Themen 3
Y ENUM auslesen (Name des ENUM als Variable) Java Basics - Anfänger-Themen 4
P Compiler-Fehler "class, interface, or enum expected" Java Basics - Anfänger-Themen 5
K class, interface or enum expected Java Basics - Anfänger-Themen 14
pg1337 enum-Aufgabe Java Basics - Anfänger-Themen 5
N was sagt enum aus? Java Basics - Anfänger-Themen 3
S Methoden Enum Parameter in Methode Java Basics - Anfänger-Themen 7
G Datentypen enum Frage Java Basics - Anfänger-Themen 3
R Probleme mit Enum Java Basics - Anfänger-Themen 10
B Enum: Instanzen Java Basics - Anfänger-Themen 10
B Generic? Enum - So lösbar? Java Basics - Anfänger-Themen 8
T class, interface, or enum expected Java Basics - Anfänger-Themen 2
M Vererbung Enum Vererbung/Polymorphie Java Basics - Anfänger-Themen 2
P Enum Attribut in Konstruktoren Java Basics - Anfänger-Themen 10
4 Enum Problem Java Basics - Anfänger-Themen 2
turmaline Bindestrich in enum? Java Basics - Anfänger-Themen 5
T Enum - Key als Value ermitteln Java Basics - Anfänger-Themen 7
X enum Fehlermeldung "The public type Day must be defined in its own file" Java Basics - Anfänger-Themen 8
T ist enum.ordinal keine Konstante? Java Basics - Anfänger-Themen 7
R State machine mit enum Java Basics - Anfänger-Themen 9
L enum aus Integer umwandeln Java Basics - Anfänger-Themen 3
C Klasseninstanzierung mit enum-Parameter erzwingen Java Basics - Anfänger-Themen 2
I Enum in String Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben