java - 我们如何增加 StringBuffer 的大小?

标签 java stringbuffer

我想根据代码中的要求设置 StringBuffer 对象的大小。

 StringBuffer sb = new StringBuffer();

 for (List<Integer> l : lists)
 {
   sb.delete(0, sb.length());
   //here i want to set size of sb according to l.size()
 }

我想在每次迭代中设置不同的大小。

最佳答案

如果您希望使用 List 的大小来初始化 StringBuffer,只需将大小传递为 int 来初始化它:

StringBuffer sb = new StringBuffer(l.size());

编辑

如果您需要根据 List 中的值动态设置大小,可以使用以下习惯用法:

List<Integer> l = new ArrayList<Integer>(Arrays.asList(new Integer[]{1,2,3}));
StringBuffer sb = new StringBuffer();
for (int i: l) {
    sb.setLength(i);
}

旁注

您不需要使用StringBuffer,除非您在多线程上下文中改变它。

您可以使用StringBuilder来代替。

关于java - 我们如何增加 StringBuffer 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29915428/

相关文章:

java - 如何确保始终调用 finalize()(Thinking in Java 练习)

java - StringBuffer追加和插入有什么区别?

java - 在字符串中添加字符

java - Java 基准测试(比较两个类)

java - "+"用于String拼接是否影响效率?

java - 在自引用 Java 类中查找父对象

java - android ArrayMap 抛出 java.lang.ClassCastException : java. lang.String 无法转换为 java.lang.Object[]

java - FFMPEG Android 库减少 Android 应用程序大小

java - 在实现 GCS 时,在 gradle android 中添加实现 'com.google.cloud:google-cloud-storage' 后,重复类发现错误

java - String 与 Stringbuffer 作为 HashMap 键