在学习的过程中,发现了这样一个问题:
在利用循环往集合里添加对象元素时(引用类型),由于使用的是同一个对象,所以每次的元素添加过程中,前面所添加的值都会被后来的值所覆盖,而导致集合中的元素只有最后一次循环遍历所得值,显然,这不符合你的预期结果.
当然,如果你添加的是非引用类型时,就不会存在这个问题.
于是就在网上查了好多关于这方面的资料.最后总结出一个规律:
引用类型变量的赋值只复制对象的引用(即地址),而不复制对象本身。而将一个值类型变量赋给另一个值类型变量时,将复制包含的值。
下面我们就来讨论一下,当集合中循环加入的是一个对象类型的数据时,如何避免"值覆盖"的问题.
先来看一段代码: