Set集合唯一性遇到的问题

来源:3-3 Set集合的数据的唯一性

hor5

2022-09-23 15:24:03

老师,您好!为什么图中UniqueSetSample类中输出goodsSet会自动调用Goods中的toString方法?

https://img.mukewang.com/climg/632d5ef009ab3d9615830814.jpg

https://img.mukewang.com/climg/632d5f110919b27009580560.jpg

写回答

1回答

好帮手慕小蓝

2022-09-23

同学你好,使用打印语句时会默认调用toString方法,调用了HashSet的toString方法。而HashSet的toString方法继承自父类AbstractCollection,在AbstractCollection的toString中,实现的方式是将字符串与对象做拼接,而字符串与对象拼接时会默认使用对象的toString方法。

所以同学实现的toString方法是在使用打印语句时,被底层源码自动调用的。

祝学习愉快~

0
hor5
hp>可能是因为Debug误导我了,把断点打在最后输出代码一行,实际Debug不断把goodSet里的元素依次调用Goods中的toString方法,而最后输出调用AbstractCollection的toString方法并没有体现出来,直接Debug结束输出。

h022-09-23
共2条回复

0 学习 · 9886 问题

查看课程