当前位置:首页 > 后端开发 > 正文

Java数组如何存储字符串

在Java中,字符串可通过直接初始化存入数组(如 String[] arr = {"a","b"};),或先声明数组再通过索引赋值(如 arr[0]="text";),数组需固定大小,存入时需确保索引不越界。

声明并初始化字符串数组

方式1:直接初始化(已知字符串内容)

String[] fruits = {"Apple", "Banana", "Orange"}; // 创建长度为3的数组,并存入3个字符串

方式2:通过new关键字初始化(先定长度后赋值)

String[] cities = new String[4]; // 声明长度为4的空数组 cities[0] = "Beijing"; // 索引0赋值 cities[1] = "Shanghai"; cities[2] = "Guangzhou"; cities[3] = "Shenzhen";


动态存入字符串(循环示例)

通过循环向数组存入用户输入或动态生成的字符串:

Java数组如何存储字符串 第1张

import java.util.Scanner; public class Main { public static void main(String[] args) { String[] names = new String[3]; Scanner scanner = new Scanner(System.in); for (int i = 0; i < names.length; i++) { System.out.print("输入第" + (i+1) + "个名字: "); names[i] = scanner.nextLine(); // 存入用户输入的字符串 } // 打印验证 for (String name : names) { System.out.println(name); } scanner.close(); } }


关键注意事项

  • 索引范围:数组索引从0开始,最大为长度-1,越界访问会抛出ArrayIndexOutOfBoundsException。 String[] arr = new String[2]; arr[2] = "Error"; // 错误!有效索引只能是0和1
  • 默认值:未赋值的字符串数组元素为null(不是空字符串)。
  • 长度不可变:数组一旦创建,长度固定,如需动态扩容,改用ArrayList<String>: import java.util.ArrayList; ArrayList<String> list = new ArrayList<>(); list.add("Java"); // 自动扩容


多维数组存入字符串

String[][] books = new String[2][2]; books[0][0] = "《Java编程思想》"; books[0][1] = "Bruce Eckel"; books[1][0] = "《Effective Java》"; books[1][1] = "Joshua Bloch";


常见问题解决

  • 问题:数组元素意外为null

    检查是否漏掉赋值(如循环次数不足)。

  • 问题:存入非字符串数据

    类型必须严格匹配:int[]不能存String,但Object[]可存任意类型(不推荐)。


  • 单行初始化:String[] arr = {"a", "b"};
  • 分步赋值:arr[index] = "value";
  • 固定长度是核心限制,动态场景用ArrayList替代。

引用说明:本文代码示例基于Oracle官方Java文档的数组规范,遵循Java SE 17语法标准,实践建议参考《Java核心技术 卷I》(Cay S. Horstmann著)中关于数组和集合的章节。

Java数组如何存储字符串 第2张

Java数组如何存储字符串 第3张

0