代码之家  ›  专栏  ›  技术社区  ›  Rohan

用Java初始化数组的一部分

  •  3
  • Rohan  · 技术社区  · 6 年前

    String[] anArray = new String[20] {"water", "shovel", "berries", "stick", "stone", "seed", "axe"};
    

    数组中只填充了7个空格,其余的可以稍后初始化?这有可能吗?我发现手动填充每个空间 anArray[i]

    4 回复  |  直到 6 年前
        1
  •  2
  •   Serge Breusov    6 年前

    您可以这样做,它将根据提供的内容创建具有新大小的数组。

        String[] temp = new String[] {"water", "shovel", "berries", "stick", "stone", "seed", "axe"};
        String[] val = Arrays.copyOf(temp, 20);
    
        System.out.println(val.length);
        System.out.println(Arrays.toString(val));
    

    20
    [water, shovel, berries, stick, stone, seed, axe, null, null, null, null, null, null, null, null, null, null, null, null, null]
    
        2
  •  3
  •   GBlodgett    6 年前

    docs 这种声明数组的方法:

    String[] array = {"Apple", "Orange"};
    

    String[] array = new String[2];
    array[0] = "Apple";
    array[1] = "Orange";
    

    array .(给出的实际警告是: Cannot define dimension expressions when an array initializer is provided

        3
  •  1
  •   fastcodejava    6 年前

    这是不可能的,但我们可以 null

    String[] arr = new String[] {"water", "shovel", "berries", "stick", null, null};
    
        4
  •  -2
  •   Peter1982    6 年前

    String anArray = new String[] {"water", "shovel", "berries", "stick", "stone", "seed", "axe"};
    

    创建大小为7的数组

    String anArray = new String[20];
    

    anArray[0] = "water";
    anArray[1] = "shovel";
    ...