这是清除StringBuilder的好方法吗?

时间:2015-05-12 11:31:42

标签: java android

我想问一下这是否是清除/清空StringBuilder的好方法?它被包装在一个方法中并被多次调用,这个线程是否安全?这不会消耗大量内存吗?如果我在方法之外和类中创建StringBuilder会更好吗?

private void callMe(){
    StringBuilder builder = new StringBuilder();
    builder.delete(0, builder.length());
}

builder.append("some ID");

if (builder.toString().contains("some other ID"))
    Show("Information")
else
    Show("Invalid ID")

2 个答案:

答案 0 :(得分:2)

调用

会更有效率

sb.setLength(0);

因为这只是一个方法调用,而不是两个。

答案 1 :(得分:1)

在我发布我的答案之前,我假设您在循环中使用StringBuilder,并且每隔几次迭代,您可能想要清空它并从空StringBuilder开始。在这种情况下,我可以想到两种方法:

  • 在您正在使用的字符串构建器上调用setLength(0)。我比delete更喜欢这个,因为我觉得它更整洁。
  • 或者分配一个新的而不是清除缓冲区。它可能不是一个理想的选择,但仍然是一种选择。