import java.util.*;class Student{
int number;
String name;
double grade;
public Student(int number,String name,double grade){
this.number=number;
this.name=name;
this.grade=grade;
}
public String toString(){
return "number:"+number+" name:"+name+" grade:"+grade;
}
} public class test{
public static void main(String args[]){
List<Student> li=new ArrayList<Student>();
li.add(new Student(1,"A",80));
li.add(new Student(2,"B",70));
li.add(new Student(3,"C",60));
Iterator t=li.iterator(); //注释处
while(t.hasNext()){
Student s=(Student)t.next();
System.out.println(s);
}
}
}泛型用在哪儿就不会报“使用了未经检查或不安全操作”的提醒?
Iterator t=li.iterator(); 注释处没有这样写Iterator<Student> t=li.iterator();为什么不报这个提醒?
见笑了...
int number;
String name;
double grade;
public Student(int number,String name,double grade){
this.number=number;
this.name=name;
this.grade=grade;
}
public String toString(){
return "number:"+number+" name:"+name+" grade:"+grade;
}
} public class test{
public static void main(String args[]){
List<Student> li=new ArrayList<Student>();
li.add(new Student(1,"A",80));
li.add(new Student(2,"B",70));
li.add(new Student(3,"C",60));
Iterator t=li.iterator(); //注释处
while(t.hasNext()){
Student s=(Student)t.next();
System.out.println(s);
}
}
}泛型用在哪儿就不会报“使用了未经检查或不安全操作”的提醒?
Iterator t=li.iterator(); 注释处没有这样写Iterator<Student> t=li.iterator();为什么不报这个提醒?
见笑了...
从提款机中取出来的是钱,你取出钱直接,不管是欧元还是人民币反正都是钱,就不用强制转化成别的东西了。这也是一种安全的表现。
如果提款机没有规定取出来是什么东西,你以为是钱,说不定取出来时白纸,你 Student s=(Student)t.next();这样强制(将白纸转化成钱)肯定就会有异常。
可能不太合适。就这么个意思吧。
所以上面的程序这样改比较好:
Iterator<Student> t=li.iterator(); //规定取的是钱。
while(t.hasNext()){
Student s=t.next();//直接拿出来用就行了,不用强制转化。因为取出来肯定是钱
System.out.println(s);
}
你应该这样写 Iterator<Student> t=li.iterator();
然后Student s=t.next();就ok了