java字符串的效率

She*_*tib 1 java android

当我们扩展DefaultHandler时,我们通常会覆盖字符函数.

我想知道哪种提取String所提供的更有效的方法...


  1. 它会使用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)
  2. 它会使用一个简单的子串吗?

    @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)
  3. 还有另一种方法吗?

Thi*_*ilo 5

一个构造函数接受char []和范围,如果这是你正在寻找的:

new String(ch, start, length);
Run Code Online (Sandbox Code Playgroud)