jason java_Jason learn Java

Generic type in Tiger

1. 受限范型是指类型参数的取值范围是受到限制的. extends关键字不仅仅可以用来声明类的继承关系, 也可以用来声明类型参数(type

parameter)的受限关系.例如, 我们只需要一个存放数字的列表, 包括整数(Long, Integer, Short),

实数(Double, Float), 不能用来存放其他类型, 例如字符串(String), 也就是说,

要把类型参数T的取值范型限制在Number极其子类中.在这种情况下, 我们就可以使用extends关键字把类型参数(type

parameter)限制为数字,

2. 在创建范型类的对象的时候, 和创建普通对象基本类似, 必须提供具体的类类型来替代类型参数T (J2SE 5.0目前不支持原始类型作为类型参数(type parameter)).

3. T和V虽然看起来是两个不同的类型参数, 但是在使用这个范型类的时候, T和V很有可能被替换成同一种类型. 因此在声明多个类型参数的范型类时, 要注意避免这种二义

性错误.

4. J2SE 5.0中提供了范型的通配符"?", "?"可以用来代替任何类型, 例如使用通配符来实现print方法

public static void print(GenList> list) {}

而非 public static void print(GenList list){}

5. 范型的一些局限

5.1 类型参数不能实例化,例如

T t = new T(); // compiling error

5.2 不能实例化类型参数的数组

T[] ts = new T[10]; //compilation error

5.3 类的静态变量不能声明为类型参数类型

public class GenClass {

private static T t; // compiling error

}

5.4 范型类不能继承自Throwable以及其子类

public GenExpection extends Exception{} // compiling error

The artical in dW.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值