Задача

Как буферизовать строки в Java?

Решение

В следующем примере строки буферизуются и сбрасываются с помощью метода emit().

public class StringBuffer {
   public static void main(String[] args) {
      countTo_N_Improved();
   }
   private final static int MAX_LENGTH = 30;
   private static String buffer = "";
   
   private static void emit(String nextChunk) {
      if(buffer.length() + nextChunk.length() > MAX_LENGTH) {
         System.out.println(buffer);
         buffer = "";  
      }
      buffer += nextChunk;
   }
   private static final int N = 100;
   private static void countTo_N_Improved() {
      for (int count = 2; count <= N; count = count +2) {
         emit(" " + count);
      }
   }
}

Результат

Вышеприведенный пример кода даст следующий результат:

2 4 6 8 10 12 14 16 18 20 22
24 26 28 30 32 34 36 38 40 42
44 46 48 50 52 54 56 58 60 62
64 66 68 70 72 74 76 78 80 82

StringBuffer

Классы StringBuffer и StringBuilder используются для создания изменяемой строки.

public class HelloWorld {
   public static void main(String []args) {
      StringBuffer sb = new StringBuffer("привет");
      sb.append("мир");
      sb.insert(0, " ProgLang");
      System.out.print(sb);
   }
}

Результат

Вышеприведенный пример кода даст следующий результат:

ProgLangприветмир

Оглавление