我有一个返回 int 类型的函数。但是,我只有一个 TAX 枚举值。
如何将 TAX 枚举值转换为 int?
public enum TAX {
NOTAX(0),SALESTAX(10),IMPORTEDTAX(5);
private int value;
private TAX(int value){
this.value = value;
}
}
TAX var = TAX.NOTAX; // This value will differ
public int getTaxValue()
{
// what do do here?
// return (int)var;
}
最佳答案
你需要让枚举以某种方式暴露 value
,例如
public enum Tax {
NONE(0), SALES(10), IMPORT(5);
private final int value;
private Tax(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
...
public int getTaxValue() {
Tax tax = Tax.NONE; // Or whatever
return tax.getValue();
}
(顺便说一句,我已将名称更改为更传统和可读性。)
这是假设您想要在构造函数中分配的值。如果这不是您想要的,您需要向我们提供更多信息。
关于java - 如何将枚举值转换为int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8157755/