Java基础之String类StringBuffer类StringBuilder类
Posted in-the-game-of-thrones
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础之String类StringBuffer类StringBuilder类相关的知识,希望对你有一定的参考价值。
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。
以上是关于Java基础之String类StringBuffer类StringBuilder类的主要内容,如果未能解决你的问题,请参考以下文章