码迷,mamicode.com
首页 > 编程语言 > 详细

java之泛型

时间:2018-06-24 23:42:17      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:否则   generic   extend   stat   ext   类型转换   asn   div   tor   

 1 /*
 2      * a. 泛型的好处
 3      *         提高安全性(将运行期的错误转换到编译期)
 4      *         省去强制类型转换的麻烦
 5      * b. 泛型基本使用
 6      *         <>中放的必须是引用数据类型
 7      * c.泛型使用的注意事项
 8      *         前后的泛型必须一致,或者后面的泛型可以省略不写(1.7新特性菱形泛型)
 9      */
10     public static void main(String[] args) {
11 
12         ArrayList<Person> list = new ArrayList<Person>();
13         list.add(new Person("张三", 19));
14         list.add(new Person("李四", 20));
15         Iterator<Person> it = list.iterator();
16         while (it.hasNext()) {
17             Person p = it.next();
18             System.out.println(p.getName() + "..." + p.getAge()); //张三...19  李四...20
19 
20             //System.out.println(it.next().getName() + "..." + it.next().getAge()); 
21             //张三...20  当使用next()方法的时候需要注意,不能直接用it.next()调用属性或方法,只能调用一次next()方法,否则就会造成数据错位
22         }
23     }
24 
25 ///////////////////////////////////////////////////////////////////////
26 
27 public class Demo3_Generic {
28 
29     public static void main(String[] args) {
30 
31     }
32 
33 }
34 
35 interface Inter<T>{
36     public void show(T t);
37 
38 }
39 
40 class Deom implements Inter<String>{
41                                          //第一种实现类加泛型,推荐用这种方法
42     @Override
43     public void show(String t) {
44         System.out.println(t);
45     }
46     
47 }
48 
49 class Demo2<T> implements Inter<T>{
50                                         //第二种实现类加泛型,因为没有必要在类上加泛型
51     @Override
52     public void show(T t) {
53         System.out.println(t);
54     }
55     
56 }
57 
58 ////////////////////////////////////////////////////////////////////////////
59 
60 public class Demo4_Generic {
61 
62     /*
63      * A: 泛型通配符<?>
64      *     任意类型,如果没有明确,那么就是Object以及任意的Java类
65      * B: ? extends E
66      *     向下限定,E及其子类
67      * C: ? super E
68      *     向上限定,E及其父类
69      */
70     public static void main(String[] args) {
71 
72         //List<?> list = new ArrayList<String>();
73         ArrayList<Person> list1 = new ArrayList<>();
74         list1.add(new Person("张三", 23));
75         list1.add(new Person("李四", 24));
76         
77         ArrayList<Worker> list2 = new ArrayList<>();
78         list2.add(new Worker("王五", 25));
79         
80         list1.addAll(list2);
81         
82         System.out.println(list1);
83         
84     }
85 
86 }
87 
88 /////////////////////////////////////////////////////////////////

 

java之泛型

标签:否则   generic   extend   stat   ext   类型转换   asn   div   tor   

原文地址:https://www.cnblogs.com/jiangjunwei/p/java.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!