java - 如何使用 Java 获取存储在 ArrayList 中的对象的属性

标签 java arraylist

我想打印存储在 ArrayList 对象中的所有学生对象的属性(姓名、科目、注册号)。

学生详细信息从数据库中获取并将其插入到学生对象中。 然后将这些学生对象插入到ArrayList中。

最后我想一一打印这些学生对象属性,如下所示。 Question Summery 以下是我的代码。

DBconn.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBconn {

    static Connection conn;

    public static Connection getConnection() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            try {
                conn = DriverManager.getConnection("jdbc:mysql://localhost/student_database", "root", "");
            } catch (SQLException ex) {

            }
        } catch (ClassNotFoundException ex) {

        }
        return conn;
    }

}

学生.java

public class Student {

    private String name;
    private String RegistrationNo;
    private String course;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getRegistrationNo() {
        return RegistrationNo;
    }

    public void setRegistrationNo(String RegistrationNo) {
        this.RegistrationNo = RegistrationNo;
    }

    public String getCourse() {
        return course;
    }

    public void setCourse(String course) {
        this.course = course;
    }

}

StudentList.java

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

public class StudentList {

    public static ArrayList getStudentList() {
        ArrayList list = new ArrayList();

        String sql = "SELECT * FROM student";

        try {
            Statement stm = DBconn.getConnection().createStatement();
            ResultSet rs = stm.executeQuery(sql);

            while (rs.next()) {
                Student student = new Student();

                student.setName(rs.getString(1));
                student.setCourse(rs.getString(2));
                student.setRegistrationNo(rs.getString(3));

                list.add(student);
            }

        } catch (SQLException ex) {

        }
        return list;
    }

}

ViewStudent.java

public class ViewStudent {

    public static void main(String[] args) {

        int size = StudentList.getStudentList().size();
        for (int i = 0; i < size; i++) {
            System.out.println(StudentList.getStudentList().get(i));
      //I want to get all student's name,subject and registrationNo 

        }

    }

}

谢谢。

最佳答案

只需为学生提供一个 public String toString() 方法重写,该方法返回一个包含所有关键属性的字符串,然后这将正常工作:

System.out.println(StudentList.getStudentList().get(i));

关于java - 如何使用 Java 获取存储在 ArrayList 中的对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33944839/

相关文章:

java - 如何解决 marshamallow 或更高版本中的权限检查问题?

java - 变量的不同步读/写可能会导致数据竞争?

java - 无法在一开始就通过 Activity 传递字符串

java - 使用 for 循环填充 ArrayList

java - 将 ArrayList 转换为不可修改的 ArrayList

java - 可视化数组列表

java - 根据整数对 ArrayList 进行排序

java - 扩展文件下载功能不工作

java - Staxmate API 的缩进问题

Java:初始化问题,无法从 arrayList 打印 "assigned"值