我有一个奇怪的问题。我正在解析一个带有大文本字段的文档。在我的字符部分,我正在使用 StringBuilder
currentStory.append(ch, start, length);
然后在我的 endElement 中,我将它分配给我的对象上的适当字段。
if (name.equals(tagDesc)) {
inDesc = false;
if (currentItem != null ) {
currentItem.setSummaryText(currentStory.toString());
}
currentStory.setLength(0);
}
setSummaryText(String text)
方法是:
public void setSummaryText(String text) {
Story = text;
}
而且我的内存快用完了。
如果我将 setSummaryText 更改为像这样完全奇怪的东西
public void setSummaryText(String text) {
char[] local = text.toString()
Story = new String(local);
}
我很好。我只是不知道我在哪里拿着那个参考?Story 是这个对象的成员变量,用“”初始化;注意 - 分配给本地字符串变量而不是 char[] - 也会失败。