String 和 StringBuilder

官方解释


String  
String 类代表字符串。字符串是常量;它们的值在创建之后不能更改。 
StringBuilder 
一个可变的字符序列。 

疑问


字符串是常量;它们的值在创建之后不能更改。那 String s="abc";s=s+"23"; 作何解释。API说Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。也就是说:s=s+"23",实际也是通过StringBuilder间接返回的。(要看看源码才知道) 

异同


都是字符串操作对象。结构不同,一个固定长度,一个可变长度。方法不同:StringBuilder 主要insert 和 append.应用场景不同,单纯字符串的比较,索引,长度,去空格,大小写转换。String,但是有字符串拼接就不同,如果频繁的拼接。用String 也可以达到目的。但是以牺牲性能为前提。因为拼接一次就new StringBuilder,n次就开辟n个StringBuilder。但是如果有StringBuilder,就一次创建。不停的调用其方法。性能有本质差异。 
--------------------------------------------------------------------------- 
用的多不一定说的出来, 
用的多,也一定要说出来,说不出来也要写的出来。。

posted @ 2017-08-03 16:48  张松任  阅读(108)  评论(0)    收藏  举报
友情链接:上海回力 | 中老年高档女装