Android上的Java:向ConcurrentLinkedQueue添加项是否会复制它
我来自C++世界,在这里,当将一个项添加到容器时,标准行为是复制它。p>
我在ConcurrentLinkedQueue的文档中找不到这些信息,因此它可能是Java容器的基本信息
通过add
方法将项目添加到队列时,是否复制了该项目,或者仅复制了对该项目的引用
我意识到对象是通过复制引用来传递的,但我不认为add
方法可以在将其添加到队列之前创建副本,以确保线程安全
另外,您能否提供一个相关文档的链接,以解释这是如何工作的
# 1 楼答案
按定义:将java中的对象添加到容器时,它通过引用传递
您可以在add方法中创建一个新对象。例如:
而不是:
当然,要做到这一点,您需要合适的构造函数