String类对象有两种实例化方法
直接赋值:只开辟一块对内存空间,可以自动入池。
构造方法:开辟两块【堆】内存空间,不会自动入池,使用intern()方法手动入池。
任何一个字符串都是String类的匿名对象。
字符串一旦声明则不可以改变,可以改变的只是String类对象的引用。
String类可以使用 + 进行字符串的连接操作
StringBuffer类的内容可以进行修改,而String类的内容是不可以修改的。
在String类里面,提供了一个与StringBuffer类比较的方法:
public boolean contentEquals(StringBuffer sb)// String与StringBuffer比较的方法
public StringBuffer reverse()//字符串反转
StringBuilder类几乎与StringBuffer的定义几乎一模一样。
比较String与StringBuilder与StringBuffer区别?
String的内容一旦声明则不可以改变,而StringBuffer与StringBuilder声明的内容可以改变。
StringBuffer类中提供的方法都是同步方法(使用synchronized),属于安全的线程操作,而StringBuilder类中的方法属于异步方法,属于非线程安全的操作,StringBuilder比StringBuffer性能上稍高。
在开发中大多数使用String,在频繁操作字符串拼接时使用StringBuilder,在考虑线程安全时,使用StringBuffer。
原文地址:https://www.cnblogs.com/in-the-game-of-thrones/p/11325547.html
时间: 2024-11-08 06:56:46