关于循环往集合添加元素,而导致的元素覆盖问题

在学习的过程中,发现了这样一个问题:

  在利用循环往集合里添加对象元素时(引用类型),由于使用的是同一个对象,所以每次的元素添加过程中,前面所添加的值都会被后来的值所覆盖,而导致集合中的元素只有最后一次循环遍历所得值,显然,这不符合你的预期结果.

  当然,如果你添加的是非引用类型时,就不会存在这个问题.

  于是就在网上查了好多关于这方面的资料.最后总结出一个规律:

  引用类型变量的赋值只复制对象的引用(即地址),而不复制对象本身。而将一个值类型变量赋给另一个值类型变量时,将复制包含的值。

  下面我们就来讨论一下,当集合中循环加入的是一个对象类型的数据时,如何避免"值覆盖"的问题.

  先来看一段代码:

posted @ 2021-02-19 15:25  和老虎喝茶彻夜长谈  阅读(423)  评论(0编辑  收藏  举报
/* 看板娘 */