【问题标题】:array name equal another array name数组名等于另一个数组名
【发布时间】:2019-07-08 15:35:00
【问题描述】:

我对这条线有疑问(theData = theData1;)是什么意思? 我知道我们创建了另一个名为 theData1 的数组并复制元素,所以这行是什么意思?

 private void reallocate () 
 {
capacity *= 2; 
      E[] theData1 = (E[]) new Object[capacity];
      for (int i = 0; i < size; i++)
             theData1[i] = theData[i];
theData = theData1;

}

【问题讨论】:

标签: java arrays arraylist


【解决方案1】:

您的方法实际上将数组theData 扩展为双倍容量。由于 Java 数组无法增长,因此获得两倍大数组的方法是创建一个新数组 theData1,将所有元素移过来,然后保留新数组而不是旧的较小的数组。你问的是:

    theData = theData1;

这会将对新数组的引用分配给保存数组的变量(以前是旧数组)。所以从这一点theData 指的是新数组。至此扩展操作完成。

Java 中的数组是引用类型(与原始类型相反)。您可以搜索更多关于它的含义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 2021-05-12
    • 1970-01-01
    相关资源
    最近更新 更多