本帖最后由 李征雪 于 2012-4-20 09:35 编辑
- import java.util.*;
- class DemoGeneric
- {
- public static void main(String[] args)
- {
- ArrayList al = new ArrayList();
- al.add("hello1");
- al.add("hello2");
- al.add("hello3");
- al.add("hello4");
- Iterator it = al.iterator();
- while (it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- }
复制代码 这段代码编译无警告;- import java.util.*;
- class DemoGeneric
- {
- public static void main(String[] args)
- {
- TreeSet al = new TreeSet();
- al.add("hello1");
- al.add("hello2");
- al.add("hello3");
- al.add("hello4");
- Iterator it = al.iterator();
- while (it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- }
复制代码 把ArrayList换成TreeSet后则会有警告;- import java.util.*;
- class DemoGeneric
- {
- public static void main(String[] args)
- {
- TreeSet<String> al = new TreeSet<String>();
- al.add("hello1");
- al.add("hello2");
- al.add("hello3");
- al.add("hello4");
- Iterator<String> it = al.iterator();
- while (it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- }
复制代码 使用TreeSet<String>和Iterator<String>编译后警告消失;
我查看了下API,在API中:
java.util.ArrayList<E>
java.util.TreeSet<E>
两个集合都是带有泛型的,为什么用ArrayList就没有警告?
|