Java Dynamic Array Creation

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangbingfengf98/article/details/85239308

case 1: do not assignment value in an array. Note char array automatically initialize.

// housekeeping/ArrayNew.java
// (c)2017 MindView LLC: see Copyright.txt
// We make no guarantees that this code is fit for any purpose.
// Visit http://OnJava8.com for more book information.
// Creating arrays with new

import java.util.*;

public class ArrayNew {
  public static void main(String[] args) {
    int[] a;
    Random rand = new Random(47);
    a = new int[rand.nextInt(20)];
    System.out.println("length of a = " + a.length);
    System.out.println(Arrays.toString(a));
    // - a = new char[rand.nextInt(20)]; // cannot convert from char[] to int[]
    
    boolean[] b = new boolean[rand.nextInt(20)];
    System.out.println("length of b = " + b.length);
    System.out.println(Arrays.toString(b));
    
    char[] c = new char[rand.nextInt(20)];
    System.out.println("length of c = " + c.length);
    System.out.println(Arrays.toString(c));
  }
}
/* Output:
length of a = 18
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

length of b = 15
[false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]

length of c = 13
[, , , , , , , , , , , , ]
*/

ps: the blank line in the comment is for easy reading.

case 2:

// housekeeping/ArrayInit.java
// (c)2017 MindView LLC: see Copyright.txt
// We make no guarantees that this code is fit for any purpose.
// Visit http://OnJava8.com for more book information.
// Array initialization

import java.util.*;

public class ArrayInit {
  public static void main(String[] args) {
    Integer[] a = {
      1, 2, 3, // Autoboxing
    };
    Integer[] b =
        new Integer[] {
          1, 2, 3, // Autoboxing
        };
    System.out.println(Arrays.toString(a));
    System.out.println(Arrays.toString(b));
  }
}
/* Output:
[1, 2, 3]
[1, 2, 3]
*/

In both cases in case 2, the final comma in the list of initializers is optional. (This feature makes for easier maintenance of long lists.)

references:

1. On Java 8 - Bruce Eckel

2. https://github.com/wangbingfeng/OnJava8-Examples/blob/master/housekeeping/ArrayNew.java

3. https://github.com/wangbingfeng/OnJava8-Examples/blob/master/housekeeping/ArrayInit.java

猜你喜欢

转载自blog.csdn.net/wangbingfengf98/article/details/85239308
今日推荐