MyButton4不起作用,输出显示错误,
线程中的异常" AWT-EventQueue-0" java.lang.ClassCastException:java.lang.String无法在knapsacproject.Interface.getTableData(Interface.java:198)上强制转换为java.lang.Integer
它显示此行错误,
tableData [i] =(int)model.getValueAt(i,colIndex);
有什么问题?
String msg = "";
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
try {
while ((line = rd.readLine()) != null) {
msg.append(line); // get the MSG as String
}
} catch (Exception e) {
Toast.makeText(this, "Stream Exception", Toast.LENGTH_SHORT).show();
}
int index=line.indexOf('{'); // index from JSON response starts
line=line.substring(index);
JSONObject object=new JSONObject(line);
// from here get your data.
答案 0 :(得分:4)
当您将字符串值分配给int数组时,您收到此错误。
您需要Integer.parseInt()
将字符串转换为int。
tableData[i] = Integer.parseInt(model.getValueAt (i,colIndex));
答案 1 :(得分:1)
您需要使用以下代码将String解析为Integer。
tableData[i] = Integer.parseInt(model.getValueAt (i,colIndex));
答案 2 :(得分:0)
您正在尝试将方法String
返回的getValueAt (i,colIndex)
值转换为int
(这是不可能的),所以基本上它给了您ClassCastException
您需要的是使用答案中提到的方法之一将String
值转换为Integer
值:
tableData[i] = Integer.parseInt(model.getValueAt (i,colIndex));
或
tableData[i] = Integer.valueOf(model.getValueAt (i,colIndex));