java基础(String和StringBuilder---不可变和可变字符序列使用陷阱)

String:

  String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

  字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。

StringBuilder/StringBuffer:

  一个可变的字符序列。Stringbuilder不安全,但速度快(常用),StringBuffer安全性高,速度慢。

 使用String进行字符串拼接:(不建议,消耗时间和空间)

  例:

  String str = "";

  for(int i = 0;i < 5000;i++){
    str = str + i;   相当于产生了10000个对象 i 一个对象,str一个对象

  }

 使用StringBuilder进行字符串拼接:

  StringBuilder str = new StringBuilder("");

  for(itn i = 0;i < 5000;i++){

    str.append(i);  节省了大量的时间和空间

  }

    

原文地址:https://www.cnblogs.com/skyline1/p/11139377.html