Posted on 2006-04-03 18:48
哎诤 阅读(481)
评论(0) 编辑 收藏 所属分类:
java基础
在java中,赋值和clone的区别,相信java程序员都知道,就是对于前者,被赋值的变量指向的是内存中的同一块地址,而对于后者,则是为clone的变量分配一块新的内存,也就是指向一个新的对象。
基于此,很容易得出一个结论,就是对于被赋值的变量,如果改变该变量指向的对象,则赋值的变量,也会指向这个新的对象。但是java中有定义了很多类型,这些类型的对象一旦创建,即为只读,也就是不满足上面的结论,最常见的例子就是String类型,譬如如下代码:
String s1="aa";
String s2="aaaa";
s2=s1;
s1="aabb";
System.out.println(s1);
System.out.println(s2);
结果将是:
aabb
aa
而不是想象中的:
aabb
aabb