0

我的问题很像“是java传递值还是传递引用”之间的战斗。但是我仍然无法理解当我在函数中传递一个对象时会发生什么。例如,假设我有一个巨大的 HashMap,我希望每个对象和每个类都可以访问它。所以我将它作为参数传递给所有需要它的函数。更具体地说,我在主函数中创建了这个 HashMap,然后我有一些需要它的对象。

main()
{
    HashMap<Integer,Set<Integer> dataset=readDatasetfromFile(file);
    ArrayList<Object> objects=new ArrayList();

    //assume that I create and fill the list with objects

    for(int i=0;i<objects.size();i++)
    {
        int variable=objects.get(i).doSomething(dataset);
    }

}

但我不明白它是否复制它。每次调用函数时都复制它是没有意义的,因为那是浪费时间。如果它只是将对象作为参考传递,那就太好了。谢谢你。

正如我所说,没有一个已回答的帖子明确说明是否将整个对象逐位复制到函数中,这是我的主要问题。所以我看不出与其他问题有任何相似之处。

4

0 回答 0