我的问题很像“是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);
}
}
但我不明白它是否复制它。每次调用函数时都复制它是没有意义的,因为那是浪费时间。如果它只是将对象作为参考传递,那就太好了。谢谢你。
正如我所说,没有一个已回答的帖子明确说明是否将整个对象逐位复制到函数中,这是我的主要问题。所以我看不出与其他问题有任何相似之处。