處理BigDecimal字段, java.math.BigDecimal cannot be cast to [Ljava.lang.Object;

有時候寫視圖,裏面有用到臨時字段的。取出來後該字段類型爲BigDecimal類型的。需要轉換

我的 scoreindex爲臨時字段,下面這個sql語句在庫裏執行是沒有錯的。但在程序裏會出錯。

String sql = "select  scoreindex  from tb_person_view where uuid='"+uuid+"'";

因爲這樣查詢出來的,java默認不是對象數組。

以下爲正確代碼

String sql = "select scoreindex,name from tb_person_view where uuid='"+uuid+"'";

Map<String, Object> params = new HashMap<String, Object>();
List<Object[]> objs = findBySql(sql, params, -1, -1);
List<CaseModel> cases = new ArrayList<CaseModel>();
CaseModel model = new CaseModel(); //必須在這裏從新實例化一下對象
if(objs.size()>0){
Object[] obj;
obj = objs.get(0);
Integer ss = ((BigDecimal) obj[0]).intValue();//對BigDecimal類型的裝換
model.setScoreIndex(ss);
cases.add(model);
}
return cases.get(0);
發佈了36 篇原創文章 · 獲贊 6 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章