Java String和StringBuffer作为形式参数传递程序实例以及需要注意的地方

基本类型:形式参数的改变不影响实际参数
引用类型:引用类型的改变直接影响实际参数
String作为参数传递效果是和基本类型作为参数传递效果一样的。
StingBuffer作为参数传递时,在方法中直接赋值不改变实际结果,如果是调用方法赋值结果会发生变化。

package test03;

public class Canshuchuandi {
	public static void main(String[] args) {
		String s1=new String("zf");
		String s2=new String("liu");
		System.out.println(s1+"  "+s2);
		
		StringBuffer b1=new StringBuffer("zf");
		StringBuffer b2=new StringBuffer("liu");
		System.out.println(b1+"  "+b2);
		
		change(s1,s2);
		change(b1,b2);
	
		System.out.println(s1+"  "+s2);
		System.out.println(b1+"  "+b2);
	}
	
	public static void change(String s1, String s2) {
		s1=s2;
		//s1=liu s2=liu
		
		s2=s1+s2;
		//s2=liuliu s1=liu
		
		//String效果和基本参数类型效果相同,并没有将参数传递出去
	}
	
	public static void change(StringBuffer b1, StringBuffer b2) {
		b1=b2;
		// b1=liu  b2=liu
		//直接赋值参数也不会传递出去
		
		b2=b2.append(b1);
		//b1=liu  b2=liuliu 
		//通过调用方法参数可以传递出去
	}
}

输出结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zfliu96/article/details/83240022