String,StringBuffer,StringBuilder的区别与联系 StringBuffer s = new StringBuffer("abcdefghijk"); s.append("增加增加"); s.delete(3,6);//删除[3-6) 不含第6位的字符 s.deleteCharAt(2);//删除第几位字符 s.insert(3,"--");//在下标为3的位置插入 s.replace(3,5,"哈哈哈哈哈");//替换 s.setCharAt(3,'-');//设置第3位字符 s.charAt(4);//查看第4位字符 s.substring(2,4);//截取的是[2,4) 不含位置4
package com.llg.learnStringBuilder; public class Learn3 { //程序的入口 public static void main(String[] args) { testStringBuffer(); } public static void testStringBuffer(){ System.out.println("===========testStringBuffer================"); StringBuffer s = new StringBuffer("abcdefghijk"); //增加 s.append("增加增加"); System.out.println(s);//abcdefghijk增加增加 //删除 s.delete(3,6);//删除[3-6) 不含第6位的字符 System.out.println(s);//abcghijk增加增加 s.deleteCharAt(2);//删除第几位字符 System.out.println(s);//abghijk增加增加 //插入 StringBuffer s2 = new StringBuffer("0123456"); s2.insert(3,"--");//在下标为3的位置插入 System.out.println(s2);//012--3456 //替换 StringBuffer s3 = new StringBuffer("0123456"); s3.replace(3,5,"哈哈哈哈哈"); System.out.println(s3);//012哈哈哈哈哈56 StringBuffer s4 = new StringBuffer("0123456"); //设置 s4.setCharAt(3,'-'); System.out.println(s4);//012-456 //查 System.out.println(s4.charAt(4));//4 StringBuffer s5 = new StringBuffer("0123456"); //截取 System.out.println(s5.substring(2,4));//23 截取的是[2,4) 不含位置4 } }
-String 类是不可变类:一旦一个String对象被创建后,包含在这个对象中的字符序列是不可改变的,直至这个对象销毁。