JAVA——赋值指派中的别名现象
2021-01-26 22:13
标签:bsp 独立 清除 reference 原来 但我 关于 影响 nbsp 记于大二,学到springsecurity,回头打牢下基础。 关于Java的 “=” 是有一些有趣的事情的,先摆出一个程序运行结果: 第一行的输出简单赋值没什么问题,最基本的嘛,第二行,在所有语言使用者看来也没有问题,将m的值赋给n嘛。 但是到了第三行,为什么n.i的值也变了???变量之间不应该独立互不影响嘛。。。 原来所谓的m,n操作时,我们操作的是reference,第二个赋值的时候,n和m其实是指向了一块地方!而原来的reference将会被GC自动清除,这个就是——Java的别名现象 那么我就是想让他们独立呢,可以改用n.i=m.i这种写法。 而在方法调用中,也存在别名机制,如下是从别的博客借鉴来的(懒得写这一段了。。。) 最后,对于这样一段代码: Person p1 = new Person("Wells" , 20); 毫无疑问,对对象进行操作时,会发生别名现象,但我们有时候并不希望这样。 解决方法如下: 在Java的中有接口Cloneable,实现它方法clone()。然后将 Person p2 = p1替换成Person p2 = p1.clone()即可 JAVA——赋值指派中的别名现象 标签:bsp 独立 清除 reference 原来 但我 关于 影响 nbsp 原文地址:https://www.cnblogs.com/yycjavastudy/p/12850846.html
Person p2 = p1;
下一篇:java转成xml