public class TestString {
    public TestString() {
    }
    public static void main(String[] args) {
        String s=new String("Hello");
        modify(s);
        System.out.println("s===="+s);
    }
    public static void modify(String s)
    {
        s+="world";
      }
}
为什么是输出Hello,而不是Helloworld?  
java里面会对 String ,int ,Integer 等基本类型,会用值进行传递,在modify 时会clone拷贝一副本在内存里面,但是打印出来的时候,还是按原来内容
其他Object类型,按照内存地址进行传递的,所以在modify 的时候会把值改掉,打印出来也会是“Hello world”
	
posted on 2006-10-31 16:46 
野风 阅读(290) 
评论(0)  编辑  收藏