杰瑞科技汇

Java初始化String数组有哪些方法?

在 Java 中初始化 String 数组有几种常见的方法,以下是详细的说明和示例代码:


直接声明并初始化

在声明数组的同时直接指定初始值。

String[] fruits = {"Apple", "Banana", "Orange"};

特点

  • 数组长度由初始值自动确定(此处为 3)。
  • 简洁高效,适用于已知初始值的情况。

先声明数组,后初始化

分两步完成:先声明数组,再通过 new 关键字初始化。

方法 1:指定长度后赋值

String[] colors = new String[3]; // 创建长度为 3 的数组
colors[0] = "Red";
colors[1] = "Green";
colors[2] = "Blue";

方法 2:直接初始化

String[] languages = new String[]{"Java", "Python", "C++"};

特点

  • 适合需要动态确定数组长度或分阶段赋值的场景。
  • new String[] 可以省略,但显式写更清晰。

使用 Arrays.fill() 填充相同值

如果数组需要填充相同的初始值,可以使用 Arrays.fill()

import java.util.Arrays;
String[] emptyArray = new String[5];
Arrays.fill(emptyArray, "Default"); // 所有元素设为 "Default"

输出

[Default, Default, Default, Default, Default]

使用流(Java 8+)动态初始化

通过 Stream 生成动态数组(例如从范围或条件生成)。

import java.util.Arrays;
import java.util.stream.IntStream;
String[] numbers = IntStream.range(0, 5) // 生成 0 到 4
                          .mapToObj(i -> "Number-" + i)
                          .toArray(String[]::new);

输出

[Number-0, Number-1, Number-2, Number-3, Number-4]

二维数组的初始化

直接初始化

String[][] matrix = {
    {"A", "B"},
    {"C", "D", "E"},
    {"F"}
};

动态初始化

String[][] dynamicMatrix = new String[2][3]; // 2行3列
dynamicMatrix[0][0] = "X";
dynamicMatrix[0][1] = "Y";
dynamicMatrix[0][2] = "Z";

注意事项

  1. 数组长度固定:Java 数组一旦创建,长度不可改变。
  2. 默认值:若未显式初始化,元素为 null(引用类型)。
  3. 不可变性String 对象本身不可变,但数组可以修改引用。

完整示例代码

import java.util.Arrays;
public class StringArrayExample {
    public static void main(String[] args) {
        // 方法1:直接初始化
        String[] fruits = {"Apple", "Banana", "Orange"};
        System.out.println("方法1: " + Arrays.toString(fruits));
        // 方法2:声明后初始化
        String[] colors = new String[3];
        colors[0] = "Red";
        colors[1] = "Green";
        colors[2] = "Blue";
        System.out.println("方法2: " + Arrays.toString(colors));
        // 方法3:Arrays.fill()
        String[] emptyArray = new String[3];
        Arrays.fill(emptyArray, "Unknown");
        System.out.println("方法3: " + Arrays.toString(emptyArray));
        // 方法4:流初始化
        String[] numbers = Arrays.stream(new String[5])
                                 .map(i -> "Item-" + i)
                                 .toArray(String[]::new);
        System.out.println("方法4: " + Arrays.toString(numbers));
    }
}

输出

方法1: [Apple, Banana, Orange]
方法2: [Red, Green, Blue]
方法3: [Unknown, Unknown, Unknown]
方法4: [Item-null, Item-null, Item-null, Item-null, Item-null]
分享:
扫描分享到社交APP
上一篇
下一篇