我从列表中取出一个值然后将其转换为整数时遇到问题,这样我就可以将它用于不同的数学函数,例如乘法。
当前代码:
int i = 0;
while(i < student_id.size()){
String finding = student_id.get(i).toString();
int s101 = ((Integer)score101.get(student101.indexOf(finding))); // <----this is where im having problems
System.out.println(student_id.get(i)+" "+names.get(i));
System.out.println("IR101 " +
score101.get(student101.indexOf(finding)) +
" IR102 " +
score102.get(student102.indexOf(finding)));
i++;
}
我得到的错误是java.lang.String cannot be cast to java.lang.Integer
。这让我感到困惑,因为我认为这本来就是一个对象。我试图将它从一个对象和一个字符串转换为一个整数,但都抛出错误。如何将score101.get(student101.indexOf(finding))
转换为int?
答案 0 :(得分:1)
错误很明显,java.lang.String cannot be cast to java.lang.integer
。
这意味着score101.get(student101.indexOf(finding))
会返回String
。如果字符串代表Integer
,那么您可以轻松解析它
Integer.parseInt(score101.get(student101.indexOf(finding)))
修改强>
根据您的评论,字符串为Double
,因此您需要使用parseDouble
Double.parseDouble(score101.get(student101.indexOf(finding)))
如果你真的想要它作为int并丢弃小数,你可以调用intValue()
将它转换为int(或直接转换)。
Double.parseDouble(score101.get(student101.indexOf(finding))).intValue()
答案 1 :(得分:0)
您可以使用Integer.parseInt(String s)方法
解析字符串