【发布时间】:2014-06-27 05:31:21
【问题描述】:
String Fehlerspeicher_ist = "Fehlerspeicher";
String Fehlerspeicher_soll = "20_Fehlerspeicher";
String lines[] = temp.split("\n");
StringBuffer result = new StringBuffer();
for (int i=0; i< lines.length; i++)
{
if (lines[i].contains(Fehlerspeicher_ist) && lines[i+1].contains("Fehler gespeichert"))
{
lines[i].replace(Fehlerspeicher_ist, Fehlerspeicher_soll);
result.append(lines[i]);
result.append("\r\n");
}
}
temp = result.toString();
不幸的是,这个 toString 抛出了 NullPointerException。我想我有这个问题,因为toString 方法已经在代码的不同部分使用。还有其他方法可以将这些String arrays 放在一起吗?类似于split 方法的反向可以用来代替StringBuffer 或toString?
任何帮助将不胜感激。
【问题讨论】:
-
此代码抛出错误,因为这一行:
if (lines[i].contains(Fehlerspeicher_ist)&&lines[i+1].contains("Fehler gespeichert"))尝试访问lines[i+1],对于最后一个元素将超出数组大小。 -
'temp' 在代码 sn-p 中不存在?!未定义无法解析符号...
-
@NorbertRadyk 是的,同意——但这不是 ArrayIndexOutOfBoundsException 吗?
-
我敢打赌,抛出 NullPointerException 的不是 StringBuffer。显示堆栈跟踪。
-
请不要使用
StringBuffer,十年前被StringBuilder取代了。
标签: java nullpointerexception split tostring stringbuffer