我正在尝试迭代一个包含多个 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 cannot be cast to java.lang.String
我尝试了很多选角和方法,但都是徒劳。
编辑1:正如许多人所说,这个“list.get(i).toString()”应该可以工作,但就我而言,这仍然不起作用,我对此一无所知。
最佳答案
String txnId = (String) list.get(i).toString();
应该是 String txnId = String.valueOf(list.get(i))
关于java.lang.ClassCastException : java. math.BigDecimal 无法转换为 java.lang.String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53068228/