在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的值之后仍然是原来的对象。