与java中的StringBuilder混淆

时间:2017-09-03 22:26:52

标签: java scjp

我对以下内容感到困惑,任何人都可以帮助我: -

为什么StringBuilder在我使用append时给了我一个更新的字符串,但在我使用subString时却没有。以下是一个例子: -

class Hello{

 public void doSomething(){

StringBuilder sb = new StringBuilder("animals");
sb.append("s");
System.out.println("Original        = "+sb); // prints animals
sb.substring(sb.indexOf("a"), sb.indexOf("al"));
System.out.println(sb);// prints animals

}
}

1 个答案:

答案 0 :(得分:2)

substring不会更改StringBuilder的状态。它返回一个包含请求的子字符串的String。有关详细信息,请参阅Javadoc

我认为您所寻找的是StringBuilder#delete