黑马程序员——高新技术之 泛型

                                        ------- android培训java培训、期待与您交流! ---------- 

1、    为了解决类型安全的集合问题引入了泛型。泛型是一个编译时语法。
2、    List<String>  l  =  new  ArrayList<String>();
<String>:表示该集合中只能存放String类型对象。
3、    使用了泛型技术的集合在编译时会有类型检查,不再需要强制类型转换。String str  =  l.get(2);
注:一个集合所允许的类型就是这个泛型的类型或这个泛型的子类型。
4、    List<Object>  l  =  new  ArrayList<Integer>×
                    必须类型一致,泛型没有多态
5、    泛型的通配符<?>
        泛型的通配符表示该集合可以存放任意类型的对象。
        static void print( Cllection<?> c ){
                for( Object o : c )
                        out.println(o);
        }
6、        带范围的泛型通配符
        (1)、向下匹配:<?  extends  Number>
             表示该集合元素可以为Number类型及其子类型(包括接口)
        (2)、向上匹配:<?  super  Number>
             表示该集合元素可以为Number类型及其父类型
7、        泛型方法
在返回值与修饰符之间可以定义一个泛型方法
        public static <T,E extends T> void copy (T[] array,Stack<E> sta){…..}
8、    不能使用泛型的情况:
(1)、泛型不能用于线程
(2)、不能用泛型来new一个对象
            如:T t = new T();
(3)、静态方法不能使用类的泛型。
9、    在使用接口的时候指明泛型。

class Student implements Comparable<Student>{.......}

注意:在对泛型类型进行参数化时,类型参数的实例必须是引用类型,不能是基本类型。当一个变量被声明为泛型时,

只能被实例变量、方法和内部类调用,而不能被静态变量和静态方法调用。因为静态成员是被所有参数化的类所共享的,

所以静态成员不应该有类级别的类型参数。

 

                                     ------- android培训java培训、期待与您交流! ----------

                                            详细请查看:http://edu.csdn.net/heima/ 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值