面试积累(String和StringBuffer, StringBuilder的理解)

1.String是不可变的对象,在每次对String类型进行改变的时候其实都是等同于生成了一个新的String对象,然后指向新的String对象,所以经常改变内容的字符串用String类型的话,就会对系统的性能产生影响。

String的常用方法:

一:求字符串的长度.length();

二:字符串的比较  字符串1.equals(字符串2);

三:字符串的连接 字符串1.concat(字符串2);

四:字符串提取和查询 indexOf(int ch),subString(int index),trim();

五:字符串的拆分 字符串名.split();

2.StringBuffer是可变的字符串,在每次对StringBuffer对象进行改变时,会对StringBuffer对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在字符串对象经常改变的情况下最好使用StringBuffer类。

3.StringBuilder是在jdk1.5版本后提供的类,他和StringBuffer等价,区别在于StringBuffer是线程安全的,StringBuilder类是单线程的,不提供同步,理论上效率更高。

原文地址:https://www.cnblogs.com/Leonar-do/p/5209391.html