我有一个如下的枚举
public enum ProductType{
P1("Pone")
P2("Ptwo")
public String value;
public String getValue(){
return value;
}
public Product fromValue(Brand b){
if(b.equals("A")){
return P1;
else
return P2
}
}
这是我的用法
Class ABC{
public String getProductName(Brand b){
return ProductType.fromValue(b).getName();
}
}
如何在不使用ENUM的情况下实现相同的目标。我希望不使用ENUM就能从品牌返回ProductName
答案 0 :(得分:0)
不清楚为什么要避免枚举,但这是等效的Java-5之前的版本。您的代码到处都是错误,因此我作了一些假设和更正:
public class ProductType {
public static final ProductType P1 = new ProductType("Pone");
public static final ProductType P2 = new ProductType("Ptwo");
private final String value;
private Product(String value) {
this.value = value;
}
public String getValue() {
return this.value;
}
public ProductType fromValue(String value) {
return value.equals(P1.value) ? P1
value.equals(P2.value) ? P2 : null;
}
}