Java对象数组需先创建容器再逐个实例化对象,否则访问null元素会抛NullPointerException;可分两步声明并初始化,或用大括号一步完成;遍历时通过下标或增强for获取引用并调用属性或方法。

Java 中对象数组的初始化和遍历,核心在于先创建数组容器,再逐个实例化对象,最后用循环访问。不能像基本类型那样直接赋值,必须确保每个数组元素都指向一个真实对象,否则会报 NullPointerException。
声明并初始化对象数组(分两步)
对象数组需要两个动作:分配数组空间 + 为每个位置创建具体对象。
- 先声明数组:例如
Student[] students = new Student[3];—— 此时数组已存在,但所有元素都是null - 再逐个实例化:
students[0] = new Student("张三", 18);,students[1] = new Student("李四", 19);等 - 也可以一步完成(推荐):
Student[] students = {<br> new Student("张三", 18),<br> new Student("李四", 19),<br> new Student("王五", 20)<br> };
用 for 循环遍历对象数组并访问属性
遍历时通过下标或增强 for 获取对象引用,再调用其字段或方法。
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
- 普通 for:
for (int i = 0; i System.out.println(students[i].name + ": " + students[i].age);<br> }
- 增强 for(更简洁):
for (Student s : students) {<br> System.out.println(s.name + ": " + s.age);<br> }
注意事项:避免空指针异常
如果只声明了数组、没给某个位置赋值对象,该位置就是 null,直接访问会崩溃。
- 安全做法:遍历中加非空判断
for (Student s : students) {<br> if (s != null) {<br> System.out.println(s.name);<br> }<br> } - 初始化时尽量用大括号语法或循环统一赋值,减少遗漏
配合 ArrayList 的灵活替代方案
如果数量不确定或需动态增删,建议用 ArrayList:
- 初始化:
ArrayListlist = new ArrayList(); - 添加:
list.add(new Student("张三", 18)); - 遍历同上(支持增强 for,且无需担心 null 占位)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










