Enums

Aibo

Mitglied
Hallo Leute,

wie kann ich den Wert bekommen, den ich einer Enum übergebe?
Bsp:

Java:
public enum RegularExpressions {

	// Class Player
	EXPRESSION_PLAYERNAME("^[a-z]*$"),
	
	//Class Company
	EXPRESSION_WALLCOLOR("^[a-z]*$"),
	EXPRESSION_CAPACITY("^[0-9]*$"), 
	
	//Class Employee, Employer, Worker
	EXPRESSION_LASTNAME("^[a-zZ-A]*$"),
	EXPRESSION_FORENAME("^[a-zZ-A]*$"),
	EXPRESSION_BIRTHDAY("^[0-9]{2}[/.]{1}[0-9]{2}[/.]{1}[0-9]{4}$"), 
	EXPRESSION_POSITION("^[a-zZ-A]*$"),
	EXPRESSION_SALARY("^[0-9]*[/.]{1}[0-9]{2}$"); 
	
	RegularExpressions(String expres) { }
}

Wie kann ich nun die Werte ausgeben, die sich hinter den Enums verbergen? Geht das überhaupt?
 
M

Marcinek

Gast
Ja,

du musst diese Werte in einer Instanzvariable SPeichern und dann dafür einen Getter vorsehen.

Java:
public enum RegularExpressions {
 
private String regEx;
    // Class Player
    EXPRESSION_PLAYERNAME("^[a-z]*$"),
    
    //Class Company
    EXPRESSION_WALLCOLOR("^[a-z]*$"),
    EXPRESSION_CAPACITY("^[0-9]*$"), 
    
    //Class Employee, Employer, Worker
    EXPRESSION_LASTNAME("^[a-zZ-A]*$"),
    EXPRESSION_FORENAME("^[a-zZ-A]*$"),
    EXPRESSION_BIRTHDAY("^[0-9]{2}[/.]{1}[0-9]{2}[/.]{1}[0-9]{4}$"), 
    EXPRESSION_POSITION("^[a-zZ-A]*$"),
    EXPRESSION_SALARY("^[0-9]*[/.]{1}[0-9]{2}$"); 
    
    RegularExpressions(String expres) { this.regEx = expres; }

public String getRegEx () { return this.regEx; }
}
 

Crian

Top Contributor
Etwa so:

Java:
public enum RegularExpressions {

	// Class Player
	EXPRESSION_PLAYERNAME("^[a-z]*$"),
	
	//Class Company
	EXPRESSION_WALLCOLOR("^[a-z]*$"),
	EXPRESSION_CAPACITY("^[0-9]*$"), 
	
	//Class Employee, Employer, Worker
	EXPRESSION_LASTNAME("^[a-zZ-A]*$"),
	EXPRESSION_FORENAME("^[a-zZ-A]*$"),
	EXPRESSION_BIRTHDAY("^[0-9]{2}[/.]{1}[0-9]{2}[/.]{1}[0-9]{4}$"), 
	EXPRESSION_POSITION("^[a-zZ-A]*$"),
	EXPRESSION_SALARY("^[0-9]*[/.]{1}[0-9]{2}$"); 
	
	private String expression;
	private Pattern pattern;

	RegularExpressions(String expression) {
            this.expression = expression;
            this.pattern = Pattern.compile(expression);
	}

	public String getExpression() {
	    return expression;
	}

	public Pattern getPattern() {
	    return pattern;
	}
}
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Das Präkompilieren des Patterns ist eine sehr gute Idee. Es ist allerdings nicht nötig, die Expression als extra String zu speichern. Mit der Pattern-Methode pattern() kommt man auch dran. Die Methode getExpression() würde dann so aussehen:
Java:
    public String getExpression() {
        return this.pattern.pattern();
    }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Java - Enums Java Basics - Anfänger-Themen 30
P Enums in Array abspeichern Java Basics - Anfänger-Themen 4
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
M Vererbung Enums vererben Java Basics - Anfänger-Themen 1
G Wie verwendet man Enums Java Basics - Anfänger-Themen 1
O prinzipielle Frage zu enums Java Basics - Anfänger-Themen 3
A Mit Enums in Methoden arbeiten Java Basics - Anfänger-Themen 8
L wie oft werden enums genutzt Java Basics - Anfänger-Themen 3
O Enums? Java Basics - Anfänger-Themen 11
M Enums, oder doch was anderes? Java Basics - Anfänger-Themen 7
P Vergleich von Enums Java Basics - Anfänger-Themen 4
D Sind Enums typsichere Konstanten? Java Basics - Anfänger-Themen 15
S Enums und ordinal Java Basics - Anfänger-Themen 3
P Enums - cannot be resolved Java Basics - Anfänger-Themen 2
neurox Kapselung von Enums? Java Basics - Anfänger-Themen 3
H Generics mit Enums Java Basics - Anfänger-Themen 16
GilbertGrape Klärungsbedarf bei Enums Java Basics - Anfänger-Themen 8
S int mit Enums vergleichen Java Basics - Anfänger-Themen 5
F Überbegriff für Klassen, Interfaces, enums? Java Basics - Anfänger-Themen 2
M Switch wie gemacht für Enums - will aber nicht Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben