假設我有接口(或超類,無所謂)Program
和實現Firefox
。我想在某些類中定義一個映射爲Map<Long,Program> mapOfPrograms
,然後通過依賴注入在setter集mapOfPrograms = new TreeMap<Long,Firefox>();
中。我需要能夠做到mapOfPrograms.put(1l,new Firefox());
或mapOfPrograms.put(1l,(Program)(new Firefox()));
然後我需要能夠get
並使用這些對象。我收到錯誤Type Mismatch: cannot convert from Map<Long,Program> to TreeMap<Long,Firefox>
。如果Program
是接口或超類,則無關緊要。如何獲取java中的接口或超類的地圖
我該如何解決這個問題?
閱讀有關[佩奇(http://stackoverflow.com/questions/2723397/java-generics-what-is -pecs)。 –