0
對於我來說這樣做似乎太棘手。Cast TreeMap.Submap返回:SortedMap,返回TreeMap
我有一個TreeMap<Double, (user-defined)Object>
,其中我以子圖:
public static reqObj assignObj(reqObj vArg, int startDate, int endDate){
reqObj vOut=new reqObj();
if (keyAt(vArg.requestObject,startDate)>-1 && keyAt(vArg.requestObject,endDate)>-1){
System.err.println(keyAt(vArg.requestObject,startDate));
System.err.println(keyAt(vArg.requestObject,endDate));
//vOut.requestObject=(TreeMap<Double, dayObj>)
vArg.requestObject.subMap(
keyAt(vArg.requestObject,startDate),
keyAt(vArg.requestObject,endDate));
}
return vOut;
}
這個工程只是預期,但是當我去投我的有序映射回(TreeMap)
我得到以下錯誤:
java.lang.ClassCastException: java.util.TreeMap$SubMap
任何幫助將是偉大的。
我想簡短答案是「否」,而較長的答案只是讓你的代碼意識到,如果它通過.submap發送一個TreeMap它應該準備處理SortedMap的返回? – 2010-11-22 00:30:36
@jason m:這就是爲什麼通過接口處理對象總是好的,這樣你就不用擔心它是否真的是一個'TreeMap'或其他類。 – casablanca 2010-11-22 00:41:33
你介意推薦我在哪裏可以讀到你在說什麼(重新:通過接口處理對象?)那太棒了。謝謝! – 2010-11-22 00:45:46