非零基础自学Java (老师:韩顺平)
✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】
第13章 常用类
文章目录
- 非零基础自学Java (老师:韩顺平)
- 第13章 常用类
- 13.5 StringBuffer类
- 13.5.1 基本介绍
- 13.5.2 String VS StringBuffer
- 13.5.3 String 和 StringBuffer 相互转换
- 13.5.4 StringBuffer 类常见方法
13.5 StringBuffer类
13.5.1 基本介绍
java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删。
很多方法与String相同,但StringBuffer是可变长度的。
StringBuffer是一个容器。
【举个栗子】
package com.dingjiaxiong.stringbuffer_;/*** ClassName: StringBuffer01* date: 2022/9/4 16:38** @author DingJiaxiong*/public class StringBuffer01 {public static void main(String[] args) {StringBuffer stringBuffer = new StringBuffer("Hello");System.out.println(stringBuffer);}
}
运行结果
13.5.2 String VS StringBuffer
- String保存的是字符串常量,里面的值不能更改,每次String类的更新实际上就是更改地址,效率较低 //private final char value[ ];
- StringBuffer保存的是字符串变量,里面的值可以更改,每次StringBuffer的更新实际上可以更新内容,不用每次更新地址,效率较高 //char[ ] value; //这个放在堆.
13.5.3 String 和 StringBuffer 相互转换
【举个栗子】
package com.dingjiaxiong.stringbuffer_;/*** ClassName: StringAndStringBuffer* date: 2022/9/4 16:41** @author DingJiaxiong*/public class StringAndStringBuffer {public static void main(String[] args) {//String → StringBufferString str = "Hello tom";//方式1,使用构造器StringBuffer stringBuffer = new StringBuffer(str);//方式2,使用append方法StringBuffer stringBuffer1 = new StringBuffer();stringBuffer1 = stringBuffer1.append(str);//StringBuffer → StringStringBuffer stringBuffer2 = new StringBuffer("韩老师666");//方式1,使用StringBuffer提供的toString方法String s = stringBuffer2.toString();//方式2,使用构造器来搞定String s1 = new String(stringBuffer2);}
}
13.5.4 StringBuffer 类常见方法
【举个栗子】
package com.dingjiaxiong.stringbuffer_;/*** ClassName: StringBufferMethod* date: 2022/9/4 16:45** @author DingJiaxiong*/public class StringBufferMethod {public static void main(String[] args) {StringBuffer s = new StringBuffer("hello");//增s.append(',');s.append("张三丰");s.append("赵敏").append(100).append(true).append(10.5);System.out.println(s);//删//删除 >= start && < end处的字符s.delete(11 , 14);System.out.println(s);//改s.replace(9,11,"周芷若");System.out.println(s);//查//查找指定的子串在字符串第一次出现的索引,如果找不到返回-1int indexOf = s.indexOf("张三丰");System.out.println(indexOf);//插s.insert(9,"赵敏");System.out.println(s);//长度System.out.println(s.length());System.out.println(s);}
}
运行结果