我这样写的
输出:
Student@35ce36
Student@757aef
Student@d9f9c3
Student@9cab16
Student@1a46e30
Student@3e25a5我想要输出学生姓名如何实现???import java.util.*;
public class Student {
String name;
Student(String setName){
name = setName;
}
public static void main(String []args){
Student Student1 = new Student("a");
Student Student2 = new Student("b");
Student Student3 = new Student("c");
Student Student4 = new Student("d");
Student Student5 = new Student("e");
Student Student6 = new Student("f");
List<Student> list = new ArrayList<Student>();
Set<Student> set = new HashSet<Student>(); list.add(Student1);
list.add(Student2);
list.add(Student3);
list.add(Student4);
list.add(Student5);
list.add(Student6);
set.add(Student1);
set.add(Student2);
set.add(Student3);
set.add(Student4);
set.add(Student5);
set.add(Student6);
for (int i = 0; i < list.size(); i++) {
Object m = (Student)list.get(i);
System.out.println(m);
}
}
}
输出:
Student@35ce36
Student@757aef
Student@d9f9c3
Student@9cab16
Student@1a46e30
Student@3e25a5我想要输出学生姓名如何实现???import java.util.*;
public class Student {
String name;
Student(String setName){
name = setName;
}
public static void main(String []args){
Student Student1 = new Student("a");
Student Student2 = new Student("b");
Student Student3 = new Student("c");
Student Student4 = new Student("d");
Student Student5 = new Student("e");
Student Student6 = new Student("f");
List<Student> list = new ArrayList<Student>();
Set<Student> set = new HashSet<Student>(); list.add(Student1);
list.add(Student2);
list.add(Student3);
list.add(Student4);
list.add(Student5);
list.add(Student6);
set.add(Student1);
set.add(Student2);
set.add(Student3);
set.add(Student4);
set.add(Student5);
set.add(Student6);
for (int i = 0; i < list.size(); i++) {
Object m = (Student)list.get(i);
System.out.println(m);
}
}
}
Object m = (Student)list.get(i);
System.out.println(m.name);
}它会报错说m.name不是字段。。
Student m = (Student)list.get(i);
System.out.println(m.name);
}
并不需要再进行强制转换,这就是使用泛型参数带来的好处。这样改一下就可以了:for (int i = 0; i < list.size(); i++) {
Student m = list.get(i);
System.out.println(m.name);
}如果没采用泛型参数,也就是不在 List 后面加 <Student> 的话,list.get(i) 取出来是个 Object 的对象,需要强制转换一下:for (int i = 0; i < list.size(); i++) {
Student m = (Student)list.get(i);
System.out.println(m.name);
}另外说一下,Student 类中的 name 建议设置成 private 的,并且提供 set/get 方法,养成好的习惯,以更好地进行封装。