当我们扩展DefaultHandler时,我们通常会覆盖字符函数.
我想知道哪种提取String所提供的更有效的方法...
它会使用for循环和StringBuilder吗?
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
StringBuilder sb = new StringBuilder(length);
for(int i=start; i<start+length; i++)
sb.append(ch[i]);
String values = sb.toString();
}
Run Code Online (Sandbox Code Playgroud)它会使用一个简单的子串吗?
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
String values = (new String(ch)).substring(start, start + length);
}
Run Code Online (Sandbox Code Playgroud)还有另一种方法吗?
有一个构造函数接受char []和范围,如果这是你正在寻找的:
new String(ch, start, length);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |