【问题标题】:Different Kinds of passing objects to Arrays将对象传递给数组的不同类型
【发布时间】:2019-10-13 18:23:55
【问题描述】:

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

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

【问题讨论】:

  • 不,没有区别。

标签: java object arraylist anonymous-objects


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-04-06
      • 1970-01-01
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 2012-05-01
      • 2021-01-01
      • 1970-01-01
      • 2018-01-02
      相关资源
      最近更新 更多