English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

데이터가 많이 변경되어야 할 때, Java에서 String 대신 StringBuffer를 선택하죠?

문자열타입은 Java 클래스로, 문자 집합을 나타내기 위해 사용됩니다. Java의 문자열은 불변하며, 생성된 후에는 문자열의 값을 변경할 수 없습니다.

문자열은 불변하므로 문자열의 값을 재할당하려고 시도하면, 그 참조는 새로운 String 객체를 가리키게 되어 메모리에 사용되지 않는 String이 남겨집니다.

Java는 문자 문자열을 대량으로 수정해야 하는 곳에서 String 문자열의 대체로 StringBuffer 클래스를 제공합니다.

您可以反复修改/操作StringBuffer的内容,而不会留下很多新的未使用对象。

StringBuilder类是从Java 5开始引入的,StringBuffer和StringBuilder之间的主要区别是StringBuilder的方法不是线程安全的(不同步的)。

建议尽可能使用StringBuilder,因为它比StringBuffer快。但是,如果必须保证线程安全,则最好的选择是StringBuffer对象。

将字符串转换为StringBuilder

StringBuilder类的append()方法接受一个String值,并将其添加到当前对象

要将String值转换为StringBuilder对象,只需使用append()方法将其附加。

示例

在下面的Java程序中,我们将字符串数组转换为单个StringBuilder对象。

public class StringToStringBuilder {
   public static void main(String args[]) {
      String strs[] = {"Arshad", "Althamas", "Johar", "Javed", "Raju", "Krishna" };
      StringBuilder sb = new StringBuilder();
      sb.append(strs[0]);
      sb.append(" "+strs[1
      sb.append(" "+strs[2
      sb.append(" "+strs[3
      sb.append(" "+strs[4
      sb.append(" "+strs[5
      System.out.println(sb.toString());
   }
}

출력 결과

Arshad Althamas Johar Javed Raju Krishna
좋아하는 것 추천