與收集整理我有一個HashMap:問題在Java
HashMap<String,QuoteBean> map = new HashMap<String,QuoteBean>();
的QuoteBean
是一個普通的bean:
class QuoteBean{
String symbol;
BigDecimal price;
BigDecimal quoteprice;
//setter and getter methods
}
然後,我得到了地圖的價值會QuoteBean
集合對象
Collection obs =map.values(); //getting all the quoteobjects
List list = new ArrayList(obs); //converted to list
然後進行排序:
Collection.sort(list, new SymbolComparator());
SymolComparator
是:
public class SymbolComparator implements Comparator<QuoteBean>{
String symbol;
@Override
public int compare(QuoteBean o1, QuoteBean o2) {
String symbol1=o1.getProductId().getSymbol();
String symbol2=o2.getProductId().getSymbol();
return symbol1.compareTo(symbol2);
}
}
當我執行的代碼,我得到一個exeception它說不能轉換String
到QuoteBean
和異常的第一行拋出。
你可以包含堆棧跟蹤嗎? – 2010-09-27 23:37:46
東西告訴我,這實際上不是導致錯誤的代碼。 – 2010-09-27 23:40:04
在compare()方法中,你做了o1.getProductId()... getProductId()返回什麼? – weiji 2010-09-27 23:42:15