---------------------- android培训、java培训、期待与您交流! ----------------------
编译时不检查类型的异常
1 import java.util.*; 2 class GenericDemo 3 { 4 public static void main(String[] args) 5 { 6 ArrayList<String> al=new ArrayList<String>(); 7 al.add("ajfk"); 8 al.add("dsajhfkj"); 9 al.add("eioh"); 10 al.add("djiotj"); 11 Iterator<String> it=al.iterator(); 12 while (it.hasNext()) 13 { 14 System.out.println(it.next()); 15 } 16 } 17 }
- 泛型类
1 class GenericDemo3 2 { 3 public static void main(String[] args) 4 { 5 Eat<Worker> e=new Eat<Worker>(new Worker(14,"张三"),"rice"); 6 e.speak(); 7 } 8 } 9 class Eat<Person> 10 { 11 public Person p; 12 public String food; 13 Eat(Person p,String food) 14 { 15 this.p=p; 16 this.food=food; 17 } 18 public void speak() 19 { 20 System.out.println("我喜欢的食物是:"+food); 21 } 22 23 } 24 class Worker 25 { 26 public int age; 27 public String name; 28 Worker(int age,String name) 29 { 30 this.age=age; 31 this.name=name; 32 System.out.println("我的名字是"+this.name); 33 } 34 }
- 泛型方法
- 限定符
?
1 import java.util.*; 2 class GenericDemo4 3 { 4 public static void main(String[] args) 5 { 6 ArrayList<String> al=new ArrayList<String>(); 7 al.add("adsjf"); 8 al.add("djflkds"); 9 al.add("ddf"); 10 ArrayList<Integer> al1=new ArrayList<Integer>(); 11 al1.add(2); 12 al1.add(4); 13 printColl(al); 14 printColl(al1); 15 } 16 public static void printColl(ArrayList<?> al) 17 { 18 Iterator<?> it=al.iterator(); 19 while (it.hasNext()) 20 { 21 System.out.println(it.next().toString()); 22 } 23 } 24 }
? extends
1 import java.util.*; 2 class GenericDemo5 3 { 4 public static void main(String[] args) 5 { 6 ArrayList<Person> al=new ArrayList<Person>(); 7 al.add(new Person(12,"zhangsan")); 8 al.add(new Person(14,"lisi")); 9 al.add(new Person(25,"wangwu")); 10 al.add(new Person(42,"zhaoliu")); 11 ArrayList<Student> al1=new ArrayList<Student>(); 12 al1.add(new Student(23,"zhangsan1")); 13 al1.add(new Student(21,"lisi1")); 14 printColl(al); 15 printColl(al1); 16 } 17 public static void printColl(ArrayList<? extends Person> al) 18 { 19 Iterator<? extends Person> it=al.iterator(); 20 while (it.hasNext()) 21 { 22 System.out.println(it.next().getName()); 23 } 24 } 25 } 26 class Person 27 { 28 public int age; 29 public String name; 30 Person(int age,String name) 31 { 32 this.age=age; 33 this.name=name; 34 } 35 public String getName() 36 { 37 return name; 38 } 39 } 40 class Student extends Person 41 { 42 Student(int age,String name) 43 { 44 super(age,name); 45 } 46 }
---------------------- android培训、java培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net/heima