簡體   English   中英

java.lang.ClassCastException:無法將java.math.BigDecimal強制轉換為java.lang.String

[英]java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String

我正在嘗試迭代包含多個ID的列表,如下所示:

[148066、148065、148064、148063、148062、148061、148060、148059、148058、148057、148056]

List<String> list= DbService.getPayUVerificationList();

上面的列表對象包含從數據庫中獲取的所有ID。

 if(null != list && !list.isEmpty())
 {
     for (int i = 0; i < list.size(); i++) {

            //System.out.println(list.get(i));
            //String txnId= list.get(i).toString();
            //String txnId = (String) list.get(i);
           //String txnId = (String) list.get(i);
            String txnId = (String) list.get(i).toString();
            String output=hdfcService.checkPayStatusByPayU(txnId);
        }
   }

但我越來越

java.lang.ClassCastException:無法將java.math.BigDecimal強制轉換為java.lang.String

我嘗試了很多強制轉換和方法,但都徒勞無功。

編輯1:很多人都說此“ list.get(i).toString()”應該工作,但就我而言,這仍然行不通,我對此一無所知。

String txnId = (String) list.get(i).toString(); 應該是String txnId = String.valueOf(list.get(i))

以下應該工作:

String.valueOf(list.get(i))

基本上什么都不是

list.get(i).toString()

因此,您已經嘗試過的東西應該對您有用。

而不是下面,您不應該使用toString(),它已經聲明為“ String”

  String txnId = (String) list.get(i).toString();

做這個:

 String txnId = (String) list.get(i);

要么

 String txnId = String.valueOf(list.get(i))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM