Java核心技术卷I -- 第12章 泛型程序设计

1. 泛型类

    public class Pair {  // 也可以定义为Pair

        private T first;

        private T second;

    }

2. 泛型方法

    class ArrayAlg {

        public static  T getMiddle(T[] a) {

            return a[a.length / 2];

        }

    }

    调用泛型方法

    String[] names = {"John", "Q", "Public"};

    String middle = ArrayAlg.getMiddle(names);  //或者省略

3. 泛型变量

    class ArrayAlg {

        public static  Pair mixmax(T[] a) { //注意,T可以是任何对象,那么就不能保证T有compareTo的方法,所以必须继承Comparable接口,来确保有compareTo方法

            T smallset = a[0];

        }

    }

4. 可以把返回的泛型类型,强制转换成某一种特殊类型

5. 泛型约束

    5.1 基本类型,只有Pair,而没有Pair

    5.2 不能抛出和捕获泛型类的异常

    5.3 不能声明参数化类型的数组,如:Pair[] table = new Pair(10);

    5.4 不能实例化泛型类

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值