Reputation: 19506
There exists a class that defines a set of constants as such
public class CritterCode {
public static String KITTY = "KT";
public static String PUPPY = "PP";
}
I have created an enum that will be used in a combo box.
public enum Critter {
KITTY,
PUPPY
}
Given a Critter
, I would like to obtain the corresponding CritterCode
.
Is it possible to accomplish this without writing duplicate code?
Upvotes: 2
Views: 104
Reputation: 1909
Do it like this,
public enum Critter {
KITTY("KT"),
PUPPY("PP");
private String code;
Critter(String code) {
this.code = code;
}
public String getCode() {
return this.code;
}
}
this way you can get rid of CritterCode
.
Upvotes: 7
Reputation: 691685
public enum Critter {
KITTY(CritterCode.KITTY),
PUPPY(CritterCode.PUPPY)
private final String code;
private Critter(String code) {
this.code = code;
}
public String getCode() {
return code;
}
}
Upvotes: 7
Reputation: 10249
use enum properties
public enum Critter {
KITTY("KT"),
PUPPY("PP");
String critterCode;
public Critter(String critterCode) {
this.critterCode = critterCode;
}
public String getCritterCode() {
this.critterCode;
}
}
Upvotes: 1