对不起,刚接触java,在jython中进行实际编码,但我认为java语法应该可行。
我有一个如下所示的hashmap:
Hashmap = {21035179={WEIGHT=1}, 2300={WEIGHT=0}, 21035180={EMA_FIRST=1000.11615393169158, EMA_SECOND=966.8684105279658}}
值是枚举类型,不确定如何改变因为我不熟悉那种类型。
我想得到2300的重量,我认为这个的语法是:
Count = 2300
Hashmap.get(Count).get(enum.WEIGHT)
但这不起作用,我得到一个无类型。
我在这里做错了什么?
答案 0 :(得分:0)
回答java,你的结构似乎是Integer -> enum -> double
。这将在Java中表示为:
public enum Field {
WEIGHT, EMA_FIRST, EMA_SECOND;
}
Map<Integer, Map<Field, Double>> myMap
由于您使用enum
作为键,因此您应将值设为EnumMap
:
myMap.put(2300, new EnumMap(Field.class));
myMap.get(2300).put(Field.WEIGHT, 34.7);
获得2300的权重将为myMap.get(2300).get(Field.WEIGHT)
。