java学习——泛型

不多说,举个例子:

//jdk1.5以前
ArrayList n = new ArrayList();

//jdk1.5开始
ArrayList<String> m = new ArrayList<String>();

我的总结,泛型就是为了规定操作对象的类型而产生,因为在多态盛行的java中,不规定操作对象的类型,很容易出现转换(强转、暗装、自封装等)出错,并且这种出错在编译阶段不能发现,在运行时才报错。

泛型使用范围:

1、类可以使用泛型

2、接口可以使用泛型

3、非静态方法可以使用泛型(静态方法如需使用泛型,需自行定义泛型,而不能使用声明类的泛型)

4、未知声明泛型使用<?>定义

5、泛型可以继承<? extend Person>   <? super Person>   

6、方法泛型写在返回值前(修饰符后),其他情况泛型紧跟类型之后。

你可能感兴趣的:(java学习——泛型)