欢迎光临散文网 会员登陆 & 注册

JAVA:在迭代器iterator内修改队列内的对象元素

2022-11-02 22:10 作者:-牧野神奈--  | 我要投稿

    今天在写程序时,想利用iterator遍历时修改ArrayDeque内的对象,但是出现了错误,发现无法修改,错误如下:

     自己定义的Page类:

    出错代码:

    错误结果:

    错误原因:

        虽然我们让迭代器的变量指向了新的Page对象,但是集合中元素对象本身并没有改变,相当于迭代器的变量开始指向了集合元素对象的地址,后来指向了Page(4)的地址,但是集合元素对象本身并没有改变,即我们没有修改集合。

        但是如果使用next.setPageName(4),这时候情况就不一样了,相当于迭代器的变量开始指向了集合元素对象的地址,并根据这个地址,进入集合对象家里对其家里的东西进行了修改。

    修改后:

    结果:


JAVA:在迭代器iterator内修改队列内的对象元素的评论 (共 条)

分享到微博请遵守国家法律