有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android上的Java:向ConcurrentLinkedQueue添加项是否会复制它

我来自C++世界,在这里,当将一个项添加到容器时,标准行为是复制它。p>

我在ConcurrentLinkedQueue的文档中找不到这些信息,因此它可能是Java容器的基本信息

通过add方法将项目添加到队列时,是否复制了该项目,或者仅复制了对该项目的引用

我意识到对象是通过复制引用来传递的,但我不认为add方法可以在将其添加到队列之前创建副本,以确保线程安全

另外,您能否提供一个相关文档的链接,以解释这是如何工作的


共 (1) 个答案

  1. # 1 楼答案

    按定义:将java中的对象添加到容器时,它通过引用传递

    您可以在add方法中创建一个新对象。例如:

    list.add(new NewObject(oldObject));
    

    而不是:

    list.add(oldObject);
    

    当然,要做到这一点,您需要合适的构造函数