java面试题网

普通会员

257

帖子

9

回复

129

积分

楼主
发表于 2018-03-21 18:11:45 | 查看: 384| 回复: 0

(1)String和StringBuffer、StringBuider:

    ①String:是不可变字符序列;

    ②StringBuffer、StringBuider:是可变字符序列;

    ③String覆盖了equals方法和hashCode方法,而StringBuffer没有覆盖equals方法和hashCode方法,所以,将StringBuffer对象存储进Java集合类中时会出现问题。

(2)StringBuffer和StringBuider:

    ①StringBuffer:是JDK1.0版本的,线程安全,效率低;

    ②StringBuilder:是JDK1.5版本的,线程不安全,效率高;

    ③如果一个字符串变量是在方法里面定义,这种情况只可能有一个线程访问它,不存在不安全的因素了,则用StringBuilder。如果要在类里面定义成员变量,并且这个类的实例对象会在多线程环境下使用,那么最好用StringBuffer。



您需要登录后才可以回帖 登录 | 立即注册

java面试题网无聊看看网与java建站系统提供技术支持V2.1 网站地图 © 2016-2018