看了几本书,这样理解java二维数组,type[] ,让type为int[], 可是这样我就很难理解数组的动态初始化:即要把维数定下来,如:int[] abc = new int[5]中的5,如果那样的话二维数组的动态初始化应该是int[][] = new int[][5];而不是new int[5][],当我们打出数组的Class对象名时看到的也是先“[”后“类型”,所以,我想是不是java数组实际定义应该是[]int,而不是int[],只不过是为了照顾习惯或者别的什么原因规定为int[]。
本人愚笨,又是初学者,学也学不会,希望大家批评指导。
本人愚笨,又是初学者,学也学不会,希望大家批评指导。
int[] xxx 表示 xxx 是 int[] 类型,即 int数组类型
int[][] xxx 可以看作 (int[])[] xxx,把(int[])看作是一个类型T,即T[]
那么初始化的时候,可以这么来看,首先正如LZ知道的int[]是个动态数组,而T是个int[],即T是动态的,所以要给T[]分配空间,肯定要先确定T具体是什么类型,即先把T的动态关系确定下来,也就是T=new int[5],然后才能确定T[]类型
也就是
不是int[][] = new int[][5]; 而不是new int[5][],即先确定前面的int[],再确定后面的[]