0

在下面的代码中,sBar 是一个数组列表。我正在尝试将其转换为字符串,然后将其写入文件。但是,我不知道我在这里做错了什么,因为我不断收到错误消息:
- NullPointerException - 线程“Thread-1”中的异常 java.lang.ClassCastException:java.lang.Long 无法转换为 java.lang。细绳

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) {
 }
4

2 回答 2

0

正如错误明确指出的那样,您不能将 a 强制Long转换为 a String
Java 强制转换只能用于将对象转换为它实际存在的类型;您不能使用强制转换将对象转换为不同的类型。

你可能想打电话.toString()

于 2012-08-26T20:09:14.723 回答
0

您不能通过强制转换将 long 转换为字符串。改变

String str = (String) it.next();

String str = it.next().toString();

另一种编写方法是使用 for each 循环:

for (Long val : sBar)
    writer.write(String.valueOf(val));
于 2012-08-26T20:09:15.537 回答