在java 中,虽然String 是对象,但是与自定义对象是有区别的,因为它是不可修改的。
说下String和StringBuffer的区别。
class="java">/*** * 修改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的值之后仍然是原来的对象。