有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java数组名等于另一个数组名

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

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

}


共 (1) 个答案

  1. # 1 楼答案

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

        theData = theData1;
    

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

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