我正在使用 Eclipse 项目中的一些现有代码。在下面调用的方法中,即使在调试代码时可以看到它cardTypeForPbfValue()
,我也找不到密钥。填充如下HashMap
:pbfValueMap
[1=ATM, 2=DEBIT, 3=CREDIT, 4=PAYROLL]
我不确定为什么CREDIT
在下面传入值 3 时无法获得相关值cardTypeForPbfValue()
。我实际上得到了NULL
.
任何帮助/方向将不胜感激。
这是我正在使用的代码:
public static enum CardType {
CREDIT(3),
ATM(1),
DEBIT(2),
PAYROLL(4);
CardType(int pbfValue) {
this.pbfValue = (short) pbfValue;
}
public static HashMap<Short, CardType> pbfValueMap = new HashMap<Short, CardType>();
static {
for (CardType cardType : CardType.values()) {
short value = cardType.pbfValue;
pbfValueMap.put(cardType.pbfValue, cardType);
}
}
public static CardType **cardTypeForPbfValue**(int pbfValue) {
CardType returnValue = pbfValueMap.get(pbfValue);
if (returnValue == null) {
returnValue = DEBIT;
}
return returnValue;
}
public short pbfValue;
}