1.String和StringBuilder,StringBuffer的区别
都是用来定义一个字符串的
String适用于字符串内容不变的操作,或者字符串操作很少时
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。因为和 String 类不同,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
2.StringBuilder和StringBuffer的区别
它们之间最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。 但是StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
3.StringBuilder和StringBuffer中常用方法(两者中的方法都基本一样)
1.append()方法:追加内容到当前StringBuffer对象的末尾,类似于字符串的连接
注意:进行以下操作后并没有创建新的对象,但是String对象进行拼接后是创建了新对象的
eg:
StringBuffer sb = new StringBuffer(“abc”);
sb.append("true");
则对象sb的值将变成”abctrue”
2.insert()方法:该方法的作用是在StringBuffer对象中插入内容,然后形成新的字符串
eg:
StringBuffer sb = new StringBuffer(“TestString”);
sb.insert(4,false);
该示例代码的作用是在对象sb的索引值4的位置插入false值,形成新的字符串,则执行以后对象sb的值是”TestfalseString”。
3.deleteCharAt方法:该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字符串
eg:
StringBuffer sb = new StringBuffer(“KMing”);
sb. deleteCharAt(1);
该代码的作用删除字符串对象sb中索引值为1的字符,也就是删除第二个字符,剩余的内容组成一个新的字符串。所以对象sb的值变 为”King”。
4.setCharAt方法:该方法的作用是修改对象中索引值为index位置的字符为新的字符ch
eg;
StringBuffer sb = new StringBuffer(“abc”);
sb.setCharAt(1,’D’);
则对象sb的值将变成”aDc”。
4.length方法
这个都知道