首页 > 解决方案 > java.lang.ClassCastException:java.math.BigDecimal 不能转换为 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()”应该可以工作,但就我而言,这仍然不起作用,我对此一无所知。

标签: javaspringlisthibernatecollections

解决方案


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


推荐阅读