本文基于JDK1.8
软件开发中,各种语言都会用到字符串,今天我们就来聊聊Java语言中的字符串。
String是一个不可变类,被声明为final class,属性也是被final修饰,由于不可变性,所以他的裁剪、拼接都会产生新的String对象,而String是我们开发中使用最频繁的class,所以对String的使用方式往往会影响应用系统的性能。
StringBuffer与StringBuilder是为了解决String裁剪、拼接时产生大量中间对象问题而提供的类。通过applend方法与insert方法可以对已有序列进行改变。StringBuffer与StringBuilder都继承于AbstractStringBuilder,提供了基本一致的API供开发人员使用,只不过StringBuffer方法中使用了Synchronizid,从而实现了线程安全。
知识点:
1、StringBuffer与StringBuilder扩容机制。
2、String的缓存机制.字符串常量池
3、单线程环境下使用StringBuilder