如何在Java中声明和初始化数组?


当前回答

在Java8中,您可以使用类似的功能。

String[] strs = IntStream.range(0, 15)  // 15 is the size
    .mapToObj(i -> Integer.toString(i))
    .toArray(String[]::new);

其他回答

下面显示了数组的声明,但未初始化数组:

 int[] myIntArray = new int[3];

下面显示了数组的声明和初始化:

int[] myIntArray = {1,2,3};

现在,下面还显示了数组的声明和初始化:

int[] myIntArray = new int[]{1,2,3};

但第三个显示了匿名数组对象创建的属性,该属性由引用变量“myIntArray”指向,因此如果我们只写“newint[]{1,2,3};”,那么这就是如何创建匿名数组对象。

如果我们只写:

int[] myIntArray;

这不是数组的声明,但以下语句使上述声明完成:

myIntArray=new int[3];

在Java 9中

使用不同的IntStream.iterate和IntStream.takeWhile方法:

int[] a = IntStream.iterate(10, x -> x <= 100, x -> x + 10).toArray();

Out: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]


int[] b = IntStream.iterate(0, x -> x + 1).takeWhile(x -> x < 10).toArray();

Out: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

在Java 10中

使用局部变量类型推断:

var letters = new String[]{"A", "B", "C"};
Type[] variableName = new Type[capacity];

Type[] variableName = {comma-delimited values};



Type variableName[] = new Type[capacity]; 

Type variableName[] = {comma-delimited values};

也是有效的,但我更喜欢在类型后面加括号,因为更容易看出变量的类型实际上是一个数组。

另一种声明和初始化ArrayList的方法:

private List<String> list = new ArrayList<String>(){{
    add("e1");
    add("e2");
}};

如果“array”是指使用java.util.Arrays,那么可以使用:

List<String> number = Arrays.asList("1", "2", "3");

// Out: ["1", "2", "3"]

这个非常简单明了。