黑马程序员-泛型-T-E-泛型类-泛型方法-泛型接口

来源:互联网 发布:爱淘宝网红包 编辑:程序博客网 时间:2024/04/27 05:07
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
泛型

格式:

<>

尖括号,是把参数类型作为参数传递给集合。

 

数据结构类名<引用数据类型数据结构对象名 = new 数据结构类名<存储的对象类型>

使用迭代器时:

Iterator<引用数据类型>

如:

ArrayList<String> al = new ArrayList<String>;

Iterator<String> it = al.iterator();

 

继承Comparator接口,使用比较器时:

public StringLengthComparator implements Comparator<String > ...

 

继承Comparable接口

 

泛型的好处:

1. 解决了类型的安全问题,将运行时的错误转到编译时就可以查看出来。

2. 避免了编译时,强转类型而带来的安全问题。

 

何时使用泛型?:

API的集合框架中,出现了<>的标志时,则需要使用泛型。

泛型类:

何时使用反省类:

当定义的类,自己要操作的引用数据类型(基本数据类型不可以)不确定的时候,使用泛型类。

 

表示泛型的标志可以自定义,并非一定是E或者T

l 泛型方法

当泛型定义在类上的时候,其下的方法都会被泛型所使用的引用类型所限制。当想让同一个类的不同方法可以操作不同的引用类型时,则不要在类上定义泛型,而只是在方法上定义泛型。

格式:

public <T> void methodName() ...


使泛型类的方法不适用泛型类的引用类型:

解决方案:

对泛型方法定义自己的泛型。类似于就近原则

 

静态方法的泛型:

static修饰符修饰的方法,在类对象没有创建之前,即类被虚拟机加载的时候就存储在内存当中了。所以,需要将静态方法定义上泛型。

package com.lxh.collection;

泛型接口:

实现了泛型接口的类仍旧可以定义成为一个泛型类型的。


0 0
原创粉丝点击