java.lang.ClassCastException:无法将java.math.BigDecimal强制转换为java.lang.String

时间:2018-10-30 15:53:25

标签: java spring list hibernate collections

我正在尝试迭代包含多个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()”应该可以工作,但就我而言,这仍然不起作用,对此我一无所知。

3 个答案:

答案 0 :(得分:2)

String txnId = (String) list.get(i).toString();应该是String txnId = String.valueOf(list.get(i))

答案 1 :(得分:1)

以下方法应该起作用:

ConcurrentModificationException

除了

int

所以,您已经尝试过的东西应该对您有用。

答案 2 :(得分:1)

而不是下面,您不应使用toString(),它已经声明为“字符串”

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

执行以下操作:

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

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