2017-04-04 112 views
0

对不起,新来的java,在jython中编写代码,但我会认为java语法应该工作。包含枚举的HashMap

我有一个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

我从来没有用过jython,只是试着'Hashmap.get(Count)'看看返回的是什么。 –

+0

此链接可能会帮助你:http://stackoverflow.com/questions/12669497/using-enum-as-key-for-map –

回答

0

回答java,你的结构好像是Integer -> enum -> double。这一点在Java可以表示为:由于您使用的是enum为重点

public enum Field { 
    WEIGHT, EMA_FIRST, EMA_SECOND; 
} 
Map<Integer, Map<Field, Double>> myMap 

,您应该创建值EnumMap

myMap.put(2300, new EnumMap(Field.class)); 
myMap.get(2300).put(Field.WEIGHT, 34.7); 

获取重量为2300,然后将myMap.get(2300).get(Field.WEIGHT)