Java如何用非默认值填充数组?

此代码段将向您展示如何创建数组变量并使用非默认值对其进行初始化。默认情况下,当我们用Java创建某些东西的数组时,所有条目都将具有其默认值。对于原始类型喜欢int,long,float默认值是零(0或0.0)。对于引用类型(其中包含对象的任何对象)将具有null默认值。对于布尔变量,它将为false。

如果要将数组初始化为其他值,则可以使用该Arrays.fill()方法。此方法将帮助您为数组的每个元素设置值。

让我们以下面的代码片段为例:

package org.nhooo.example.util;

import java.util.Arrays;

public class ArraysFillExample {
    public static void main(String[] args) {
        // 将-1分配给数字数组的每个元素
        int[] numbers = new int[5];
        Arrays.fill(numbers, -1);
        System.out.println("Numbers: " + Arrays.toString(numbers));

        // 将1.0f分配给价格数组的每个元素
        float[] prices = new float[5];
        Arrays.fill(prices, 1.0f);
        System.out.println("Prices : " + Arrays.toString(prices));

        // 将空字符串分配给单词数组的每个元素
        String[] words = new String[5];
        Arrays.fill(words, "");
        System.out.println("Words  : " + Arrays.toString(words));

        // 将9分配给多数组的每个元素
        int[][] multi = new int[3][3];
        for (int[] array : multi) {
            Arrays.fill(array, 9);
        }
        System.out.println("Multi  : " + Arrays.deepToString(multi));
    }
}

在代码段上面我们利用Arrays.fill()实用方法分配值对的每个元素int,float和String阵列。要更改多维数组的默认值,我们不能直接调用该Arrays.fill()方法。在示例中,我们使用for循环使用Arrays.fill()方法设置子数组的每个元素。

上面的代码片段的输出是:

Numbers: [-1, -1, -1, -1, -1]
Prices : [1.0, 1.0, 1.0, 1.0, 1.0]
Words  : [, , , , ]
Multi  : [[9, 9, 9], [9, 9, 9], [9, 9, 9]]