蔡香满屋
站在牛顿头上吃苹果

使用泛型时需要注意的几个点: 

1.不能用基本数据类型实例化类型参数

2.运行时候类型检查不适用于泛型

3.不能实例化泛型类型的数组

4.静态方法不能使用类上下文中定义的类型参数

5.泛型在异常中的使用,不能继承异常基类

6.类型擦出冲突

7.另一个泛型原则

下面看看这些注意点:

第一:不能用基本数据类型实例化类型参数,其中原因就是类型擦出后T的类型变成了Object,而基本数据类型是不能转换为Object类型的,需要使用包装类。

例如:

 第二:运行时候类型检查不适用于泛型,因为对JVM来说,根本没有泛型这个概念,例如:

 

 

 

 第三: 不能创建泛型数组,例如:

 

 涉及到泛型设计的一个原则有:如果一段代码在编译时没有提出“未经检查的转换警告,则程序在运行时不会引入ClasscastException异常“。

还有一个特别重要的特点就是数组可以向上转型,例如List<String>[] list = new ArrayList<String>[10];

利用这个特性我们可以看一个代码:

 

 第四:不能实例化类型参数:

 

 第五:泛型类不能继承异常基类:

 

 同时也不能使用try抛出异常:

 

 

但是可以这样:

 

posted on 2020-03-01 01:02  蔡香满屋  阅读(780)  评论(0)    收藏  举报