java中String和Stringbuffer的区别

在java 中,虽然String 是对象,但是与自定义对象是有区别的,因为它是不可修改的。

说下String和StringBuffer的区别。

/***
	 * 修改StringBuffer 的内容
	 * @param sb
	 * @param drift
	 */
	public static void modifyStringBuffer(StringBuffer sb,int drift){
		sb. setLength(0);//清空StringBuffer
		sb.append(drift);
	}

@Test
	public void test_modifyStringBuffer(){
		StringBuffer sb=new StringBuffer();
		sb.append("whuang");
		System.out.println("old value:\t"+sb.toString());
		modifyStringBuffer(sb, 3);
		System.out.println("new value:\t"+sb.toString());
	}

 运行结果:

old value:whuang

new value:3

 

/***
	 * 修改String的内容
	 * @param string
	 * @param drift
	 */
	public static void modifyString(String string,int drift){
		string =String.valueOf(drift);
	}

	@Test
	public void test_modifyString(){
		String string=new String("abc");
		System.out.println("old value:\t"+string.toString());
		modifyString(string, 3);
		System.out.println("new value:\t"+string.toString());
	}

 运行结果如下:

old value:abc

new value:abc

 

总结:String的值是不能修改的,StringBuffer的值是可以修改的,即修改StringBuffer的值之后仍然是原来的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值