我正在使用带有带有enumaration参数的HashSet的方法的库,而我无法调用该方法。我认为这个问题可能是我认为最简单的问题,但我有两天这个问题。 按照库中的方法:
public int searchCard(HashSet<CardSlotTypeEnum> var1, int var2, OnCardInfoListener var3) {
if(var2 >= 0 && var3 != null) {
u.a().a(var1, var2, var3);
return 0;
} else {
return -2;
}
}
遵循确认CardSlotTypeEnum:
public enum CardSlotTypeEnum {
ICC1,
ICC2,
ICC3,
PSAM1,
PSAM2,
PSAM3,
RF,
SWIPE,
}
按照我的代码:
reader = deviceEngine.getCardReader();
OnCardInfoListener info = new OnCardInfoListener() {};
HashSet<CardSlotTypeEnum> teste = new HashSet<CardSlotTypeEnum>();
reader.searchCard(teste,60,info);
我在初始化'teste'变量时遇到了问题,这种方式是唯一没有向我提供错误信息的方式,但在这种情况下'teste'没有收到任何错误。
如果有人能帮助我,我将不胜感激。
答案 0 :(得分:0)
这个图书馆使用的是HashSet
而不是EnumSet
,这有点奇怪,但是,如果这就是你所坚持的,那么就这样吧。
创建EnumSet
类enum
中包含所有值的HashSet
非常容易。然后,您可以很容易地创建EnumSet<CardSlotTypeEnum> enums = EnumSet.allOf(CardSlotTypeEnum.class);
HashSet<CardSlotTypeEnum> teste = new HashSet<>(enums);
:
HashSet<CardSlotTypeEnum> teste = new HashSet<>();
teste.add(CardSlotTypeEnum.RF);
teste.add(CardSlotTypeEnum.SWIPE);
如果您只想将特定的枚举常量添加到集合中,您可以手动执行此操作:
{{1}}