打印出数组列表中的所有对象

我需要能够在数组列表中打印出Student对象(所有变量)。这可能吗?当我尝试打印时,它会输出此类内容student.Student@82701e。我认为是hexadecimal这样

这是我的代码:

package student;

public class Student {

private String studentName;

private String studentNo;

private String email;

private int year;

public Student() {

this.studentName = null;

this.studentNo = null;

this.email = null;

this.year = -1;

}

public Student(String nName, String nNum, String nEmail, int nYr) {

this.studentName = nName;

this.studentNo = nNum;

this.email = nEmail;

this.year = nYr;

}

public void setStudentName(String newStudentName) {

this.studentName = newStudentName;

}

public void setStudentNo(String newStudentNo) {

this.studentNo = newStudentNo;

}

public void setEmail(String newEmail) {

this.email = newEmail;

}

public void setYear(int newYear) {

this.year = newYear;

}

public String getStudentName() {

return studentName;

}

public String getStudentNo() {

return studentNo;

}

public String getEmail() {

return email;

}

public int getYear() {

return year;

}

}

package student;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class studentTest {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

List<Student> Students = new ArrayList();

Student student1 = new Student();

student1.setStudentName("Bob Marley");

student1.setStudentNo("N0002");

student1.setEmail("student2@student.com");

student1.setYear(2);

Students.add(student1);

Student student2 = new Student();

student2.setStudentName("Bill Harvey");

student2.setStudentNo("N0003");

student2.setEmail("student3@student.com");

student2.setYear(2);

Students.add(student2);

Student student3 = new Student();

student3.setStudentName("John Beans");

student3.setStudentNo("N0004");

student3.setEmail("student4@student.com");

student3.setYear(2);

Students.add(student3);

System.out.println("Add new students: ");

System.out.println("Enter number of students to add: ");

int countStudents = input.nextInt();

for (int i = 0; i < countStudents; i++) {

Student newStudents = new Student();

System.out.println("Enter details for student: " + (i + 1));

System.out.println("Enter name: ");

newStudents.setStudentName(input.next());

System.out.println("Enter Number: ");

newStudents.setStudentNo(input.next());System.out.println("Search by student number: ");

System.out.println("Enter email: ");

newStudents.setEmail(input.next());

System.out.println("Enter year: ");

newStudents.setYear(input.nextInt());

Students.add(newStudents);

}

}

}

回答:

类中的重写toString()方法Student如下:

   @Override

public String toString() {

return ("StudentName:"+this.getStudentName()+

" Student No: "+ this.getStudentNo() +

" Email: "+ this.getEmail() +

" Year : " + this.getYear());

}

以上是 打印出数组列表中的所有对象 的全部内容, 来源链接: utcz.com/qa/423636.html

回到顶部