在下面的代码中,sBar是一个arraylist。我试图将其转换为String,然后将其写入文件。但是,我不知道我在这里做错了什么,因为我不断收到错误消息说:
- 空指针异常
- 线程“Thread-1”中的异常java.lang.ClassCastException:java.lang.Long无法强制转换为java.lang.String
try{
FileWriter writer = new FileWriter("stime.txt");
for (Iterator it = sBar.iterator(); it.hasNext();) {
String str = (String) it.next();
writer.write(str);
}
}
} catch (IOException e) {
}
答案 0 :(得分:0)
由于错误明确指出,您无法将Long
投射到String
Java强制转换只能用于将对象转换为实际 的类型;你不能使用强制转换将对象转换为其他类型。
您可能需要致电.toString()
。
答案 1 :(得分:0)
您无法通过强制转换将长整数转换为字符串。变化
String str = (String) it.next();
到
String str = it.next().toString();
编写它的另一种方法是为每个循环使用a:
for (Long val : sBar)
writer.write(String.valueOf(val));