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 
		//通过调用方法参数可以传递出去
	}
}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值