用Java初始化2D数组

时间:2018-07-01 11:19:12

标签: java arrays

  1. 在数组中,我们可以初始化如下内容:

    int[] arr = {1, 2, 3, 4, 5};

  2. 但是对于二维数组,为什么以下内容不正确?

    public class Main {
        public static void main(String[] args) {
           int[][] arr = new int[3][];
           arr[0] = new int[]{1,2,3}; //This is the correct way
    
           arr[0] = {1,2,3};  // ->Why this is not right? 
        }
    }
    

3 个答案:

答案 0 :(得分:1)

  

是的,您是正确的,第二种创建2D数组的方法将不起作用,因为当编译器无法确定其类型时,编译器便会编译代码。

答案 1 :(得分:0)

您只能在变量初始化期间使用此语法糖。 意味着Java语言规范仅允许 Rails.application.load_seedarr[0] = new int[]{1, 2, 3};。 区别在于,第一个变量是变量分配,第二个变量是变量初始化。

答案 2 :(得分:0)

仅使用代码new int [ ] { 1, 2, 3}分配第二维的空间。在此之前,编译器不知道数组项的类型和维数。