2017-04-04 108 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)