Java基础-----String、StringBuffer和StringBuilder类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuming226/article/details/84704239
String、StringBuffer和StringBuilder类的区别

1、String是一个不可变的字符序列。
2、StringBuffer,StringBuilder是可变的字符序列。
3、StringBuffer和StringBuilder类的方法基本都是一样的,不一样的地方就是StringBuffer是线程安全的,StringBuilder是线程不安全的。
4、StringBuffer是jdk1.0版本的,线程安全效率低。
5、StringBuilder是jdk1.5版本的,是线程不安全的,效率高。

String和StringBuffer分别作为参数传递

基本数据类型的值传递,不改变其值,引用数据类型的值传递,改变其值。

注意
String类虽然是引用数据类型,但是当作参数传递时和基本数据类型是一样的。

分析其原因:
String类是不可改变,其不可改变的本质就在于不能在内存中改变对象的属性值,也就是说无论引用值如何改变,对象是不可变的。

package StringBufferPackage;

public class Test2 {
	public static void main(String[] args) {
		String s =  new String("java");
		System.out.println(s);
		change(s);
		System.out.println(s);
		
		
		System.out.println("--------------------------------");
		StringBuffer sb = new StringBuffer("Mysql");
		System.out.println(sb);
		change(sb);
		System.out.println(sb);
	}

	private static void change(StringBuffer sb) {
		sb.append("xiao");
		
	}

	private static void change(String s) {
		s += "xiao";
		
	}
}

运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yuming226/article/details/84704239