12-02Java语言基础(StringBuffer(2))
发布日期:2021-05-06 23:59:36 浏览次数:25 分类:精选文章

本文共 2175 字,大约阅读时间需要 7 分钟。

StringBuffer的替换和反转功能

相关方法:

public StringBuffer replace(int start, int end, String str);  从start到end用str替换,还是左开右闭哦poblic StringBuffer reverse();   字符串反转

代码:

public class Demo4_StringBuffer {   	public static void main(String[] args) {   		StringBuffer sb = new StringBuffer("heima");		sb.replace(0, 4, "xiaoxin");   		System.out.println(sb.toString());				sb.reverse();		System.out.println(sb.toString());	}}

输出:

xiaoxinaanixoaix

StringBuffer的截取功能

相关方法:

public String substring(int start)  从指定位置截取到末尾public String substring(int start, int end)  截取指定一段,包括头部,不包括尾部注意事项:返回值类型不再是StringBuffer本身

代码:

public class Demo5_StringBuffer {   	public static void main(String[] args) {   		StringBuffer sb = new StringBuffer("woaixiaoxin");		String str = sb.substring(4);		System.out.println(str);				String str1 = sb.substring(1, 4);  //包含头部,不包含尾部		System.out.println(str1);  	}}

StringBuffer和String的相互转换

String --> StringBuffer:

1、通过构造方法2、通过append方法

代码:

public class Demo6_StringBuffer {   	public static void main(String[] args) {   		StringBuffer sb = new StringBuffer("haha");		System.out.println(sb);				StringBuffer sb2 = new StringBuffer();		sb2.append("heima");		System.out.println(sb2);	}}

输出:

hahaheima

StringBuffer --> String

1、通过构造方法2、通过toString()方法3、通过subString(0, length)
public class Demo6_StringBuffer {   	public static void main(String[] args) {   		StringBuffer sb = new StringBuffer("heima");				String s1 = new String(sb);		System.out.println(s1);				String s2 = sb.toString();		System.out.println(s2);				String s3 = sb.substring(0, s2.length());		System.out.println(s3);	}}

输出:

heimaheimaheima

StringBuffer和String分别作为参数传递

代码:

public class Demo7_StringBuffer {   	public static void main(String[] args) {   		String str = new String("haha");		changeString(str);		System.out.println(str);				StringBuffer sb = new StringBuffer("hahaha");		changeStringBuffer(sb);		System.out.println(sb);	}		public static void changeString(String s) {   		s += "abc";	}		public static void changeStringBuffer(StringBuffer sb) {   		sb.append("abc");	}}

输出:

hahahahahaabc

分析:

1、String在改变值时,底层调用的是StringBuffer,所以进入函数后的s返回的是新的String的地址,所以原来的s的内容是不变的2、StringBuffer在改变值时,该地址下的内容被改变,所以其值被改变。
上一篇:12-03 Java语言基础(数组排序 & 二分查找)
下一篇:12-01 Java语言基础(StringBuffer(1))

发表评论

最新留言

不错!
[***.144.177.141]2025年04月16日 00时06分55秒