0

创建对象然后将其传递给 ArrayList 或直接在 ArrayList.add 方法中创建对象有区别吗?在内存使用和性能的情况下?例子:

ArrayList<ClassX> arrayList = new ArrayList();
//Type 1:
ClassX object = new ClassX();
arrayList.add(object);
//Type 2:
arrayList.add(new ClassX());
4

2 回答 2

0

基本上两行之间没有区别,但第二行减少了不必要的变量创建。在第一个中,您可以修改第一个对象,因为您有对它的引用。

于 2019-10-13T18:36:10.827 回答
0

逻辑上?否 - 两者的目的相同。

空间?是的。在 type1 中:将在堆栈中创建引用,因此会分配额外的内存。现在可以通过引用变量或数组列表索引访问该对象。

于 2019-10-13T18:57:05.663 回答