Java 我可以使用带有参数的枚举吗?
我有一个预先确定的有限值列表。这些值中的每一个都必须映射到另一个值 例如:Java 我可以使用带有参数的枚举吗?,java,Java,我有一个预先确定的有限值列表。这些值中的每一个都必须映射到另一个值 例如: AAAAA -> AZER BBBBB -> BVCX 但我也有,取决于一些参数: CCCCC -> CPA1 CCCCC -> CPA2 CCCCC -> CPA3 CCCCC -> CPA4 我最初考虑使用枚举,但如何将参数考虑在内?您可以使用下面这样的构造函数来映射值 enum Apple { A(10), B(9), C(12), D(15), E(8); pri
AAAAA -> AZER
BBBBB -> BVCX
但我也有,取决于一些参数:
CCCCC -> CPA1
CCCCC -> CPA2
CCCCC -> CPA3
CCCCC -> CPA4
我最初考虑使用枚举,但如何将参数考虑在内?您可以使用下面这样的构造函数来映射值
enum Apple {
A(10), B(9), C(12), D(15), E(8);
private int price; // price of each apple
// Constructor
Apple(int p) {
price = p;
}
int getPrice() {
return price;
}
}
您可以使用下面这样的构造函数来映射值
enum Apple {
A(10), B(9), C(12), D(15), E(8);
private int price; // price of each apple
// Constructor
Apple(int p) {
price = p;
}
int getPrice() {
return price;
}
}
您可以向枚举添加方法,以便传递参数,例如
enum MyEnum {
AAAAA {
@Override String mappedValue(Param parameter) { return "AZER"; }
},
BBBBB {
@Override String mappedValue(Param parameter) { return "BVCX"; }
},
CCCCC {
@Override String mappedValue(Param parameter) {
if (parameter.equals(something)) {
return "CPA1";
} else if (parameter.equals(somethingElse)) {
return "CPA2";
} else {
return "CPA3";
}
}
}
;
abstract String mappedValue(Param parameter);
}
您可以向枚举添加方法,以便传递参数,例如
enum MyEnum {
AAAAA {
@Override String mappedValue(Param parameter) { return "AZER"; }
},
BBBBB {
@Override String mappedValue(Param parameter) { return "BVCX"; }
},
CCCCC {
@Override String mappedValue(Param parameter) {
if (parameter.equals(something)) {
return "CPA1";
} else if (parameter.equals(somethingElse)) {
return "CPA2";
} else {
return "CPA3";
}
}
}
;
abstract String mappedValue(Param parameter);
}
通过向枚举中添加变量,并在其构造函数中进行设置。通过什么逻辑
ccccccc
映射到不同的值?通过读取,您可以在枚举上拥有带参数的方法。Java枚举与其他一些语言中的并集类型不同。通过向枚举中添加变量,并在其构造函数中设置它。通过什么逻辑将ccccccc
映射到不同的值?通过读取,您可以在枚举上拥有带参数的方法。Java枚举与其他一些语言中的并集类型不同。这不允许ccccccc
根据某个参数具有四种不同的价格.这不允许CCCCC
根据“某些参数”有四种不同的价格。