A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© DmajorCanon 初级黑马   /  2019-3-21 17:09  /  988 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

泛型定义:

                将数据类型灵活的运用到类,方法,接口上,作为参数传递

        泛型确定的时间:创建对象时

         泛型的好处:

                  1.数据类型确定,省去了强转的麻烦

                  2.将运行时异常转换成编译器异常

         泛型的缺点:     

                   1.只能操作同一种数据类型

                泛型类:

                          将泛型书写在Class类上

                          书写方式 :public class ArrayList<E>

                                 1.在创建对象时不写泛型:默认操作就是Object

                                  ArrayList list = new ArrayList ();  list.add(Object obj)

                                 2.写了泛型 --> 泛型什么就只能操作什么               

                                  ArrayList<String> list = new ArrayList ();         

                泛型方法

                                 静态泛型方法         public static <T>  void method1(T t);

                                 非静态泛型方法     public <T> void  method2(T t);

                泛型接口

                                 1.  直接在接口上定义泛型

                                                public class GenericInterfaceImpl1 implements GenericInterface<String>{}

                                 2.public class GenericInterfaceImpl2<I> implements GenericInterface<I>

                                                 主要应用到了泛型的传递

               泛型的通配符  ?

               泛型的限定

                                上限(开发中极有可能会使用到一种方式) 和 下限

                                   上线写法一

                                                public static  void getElement1(Collection<? extends Number> coll){}

                                    上线写法二:

                                                public static<T extends Number> void getElement1(Collection<T> coll){}

                                     下限

                                                public static void getElement2(Collection<? super Number> coll){}   (了解)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马