You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在主方法及控制器类中创建包含Student对象的ArrayList?

问题分析与修正代码

你的代码存在两个核心错误:

  • 变量类型声明错误:你声明的students是单个Student对象,但实际需要的是存储多个Student的集合,应该声明为ArrayList<Student>类型。
  • 泛型类型不匹配:创建集合时指定了<String>,但我们要存储的是Student对象,泛型应该改为<Student>。

修正后的StudentController类

import java.util.ArrayList;

public class StudentController {
    // 声明为存储Student对象的ArrayList
    private ArrayList<Student> students;

    public void initData() {
        // 初始化泛型为Student的ArrayList
        students = new ArrayList<>();
    }

    // 示例:添加Student对象到集合
    public void addStudent(Student student) {
        students.add(student);
    }

    // 示例:获取所有Student对象
    public ArrayList<Student> getStudents() {
        return students;
    }
}

客户端(主方法)类示例

public class StudentClient {
    public static void main(String[] args) {
        // 初始化控制器
        StudentController controller = new StudentController();
        controller.initData();

        // 创建Student对象并设置属性
        Student student1 = new Student();
        student1.setNisn("12345");
        student1.setGrade("10A");

        Student student2 = new Student();
        student2.setNisn("67890");
        student2.setGrade("10B");

        // 添加到控制器的集合中
        controller.addStudent(student1);
        controller.addStudent(student2);

        // 遍历输出所有学生信息
        for (Student s : controller.getStudents()) {
            System.out.println("NISN: " + s.getNisn() + ", 年级: " + s.getGrade());
        }
    }
}

说明

  • 必须导入java.util.ArrayList包,否则无法使用ArrayList类。
  • 控制器中新增的addStudent和getStudents方法,方便对学生集合进行操作与获取。
  • 客户端类演示了创建Student对象、添加到集合并遍历输出的完整流程。

内容的提问来源于stack exchange,提问作者Falah Kharisma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 08:07:22