问题:LinkedList 是原始类型。应该将对通用类型 LinkedList<E> 的引用参数化

jdk1.5之后,引入了泛型,类似下面这种写法会出现类似警告,可以忽略,
  LinkedList llist = new LinkedList();
也可以修改一下,指定类型
  LinkedList<String> llist = new LinkedList<String>()
但是,如此,llist中只能存放String,否则编译器报错。
其它集合类也会出现一样的情况。
“< >”中指定集合中元素的类型,目的是为了类型安全,如此从集合中取出元素时不必做强制类型转换了,
但是注意“< >”中(即泛型的参数)只能是类,不能使基本类型。

示例:
package test;

import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;

public class TestJava {
    public static void main(String args[]){
        Set<Student> set =new LinkedHashSet<Student>();
        set.add(new Student());
        set.add(new Student());
        set.add(new Student());
        
        Iterator<Student> it=set.iterator();
        while(it.hasNext()){
            Student value=it.next();
            System.out.println(value);
        }
    }

}

class Student{
    String stu;
    
    public void setStu(String stu){
        stu=this.stu;
    }
    
    public String getStu(){
        return stu;
    }
    
}

posted @ 2018-08-13 17:32  纵马天涯  阅读(478)  评论(0)    收藏  举报