String类型与StringBuffer和StringBuilder

String类定义的字符串是不可修改的,StringBuffer与StringBuilder定义的为字符串变量,是可以修改的。

String str1 = “str1”;String str2 = “str2”;String str3 = str1 + str2;

 String类型定义的字符串在变动时并不是在原有的基础上进行修改,如:在计算str3的字符串时,需要先获取str1的值和str2的值,并把两个字符串的值拼接后放入新的内存块中。

StringBuffer与StringBuilder在创建字符串时,是通过调用构造函数的方式实现的。

以StringBuilder为例:
StringBuilder stringBuilder = new StringBuilder().append("abc");
stringBuilder.append("de");

来看一下这段代码在内存中是如何呈现的

同样是实现两个字符串的拼接,StringBuilder与StringBuffer则是在原来的字符串上进行修改。很明显他们的执行效率是大于String类型的。

 

 

 

 

 

 

 

posted @ 2019-08-09 15:12  骑着蜗牛去救你  阅读(147)  评论(0编辑  收藏  举报