Java 使用数组列表
有两个班,一个是Java 使用数组列表,java,Java,有两个班,一个是Student,另一个是Array\u list。“输出有问题,我无法理解,只能显示名称和性别”Student@9e0bfd" 二等舱 import java.util.*; class Array_list { public static void main (String args []) { ArrayList<Student> list=new ArrayList<Student>(); Student s
Student
,另一个是Array\u list
。“输出有问题,我无法理解,只能显示名称和性别”Student@9e0bfd"
二等舱
import java.util.*;
class Array_list {
public static void main (String args []) {
ArrayList<Student> list=new ArrayList<Student>();
Student s1=new Student("ashish ","male");
list.add(s1);
Iterator itr =list.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
import java.util.*;
类数组列表{
公共静态void main(字符串参数[]){
ArrayList=新建ArrayList();
学生s1=新生(“阿什什”、“男性”);
列表。添加(s1);
迭代器itr=list.Iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
在学生类中,您需要重写toString()
以返回要显示的数据。您需要重写toString()
类中的toString()
方法,以便它打印您想要的内容,而不是Student@9e0bfd“。正如其他人所说,toString()
方法定义在对象上执行System.out.println()
操作时打印的内容。默认的toString()
方法显示对象类及其哈希代码,以便您可以区分不同的对象实例。由于默认情况下在错误消息中也会使用它,这很有意义。构造函数中的参数分隔符也缺少,
。如果我使用类似“Student st=(Student)itr.next(),system.out.print(st.name+”“st.sex)”的内容,则输出是正确的,但无法理解我为什么使用类似的内容“Student st=(Student)itr.next().System.out.println(st.name+”st.sex);“那么一切都很好。我不明白为什么会这样?
import java.util.*;
class Array_list {
public static void main (String args []) {
ArrayList<Student> list=new ArrayList<Student>();
Student s1=new Student("ashish ","male");
list.add(s1);
Iterator itr =list.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}