(1)泛型:
泛型在集合中经常用到,泛型的本质化是参数化类型;也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口和泛型方法。
在1.5之前,是没有泛型的;参数可以任意化,那么后面就要做显示的强制类型转换,并且很容易出现转换错误,在编译期可能发现不了,那么这就形成了安全隐患;
但在引入泛型后就不一样了,它在编译的时候会自动检查类型安全,并且所有强制转换都是隐式的,不但方便,还提高了代码的复用性;
泛型在使用中应该注意的细节:
1,泛型的类型参数只能是类类型,不能是简单类型,类型参数可以有多个;
2,同一种泛型可以对应多个版本,因为参数类型不确定;
3,泛型的参数还可以是通配符类型,例如Class<?>
classType = Class.forName(Java.lang.String); 常用的泛型实例如下:
public class List<V> {
public List(int cs) { ... }
public int size() { ... }
public void add(V value) { ... }
public void remove(V value) { ... }
public V get(int index) { ... }
}
4,"?"通配符的扩展:
1、上边界: Vector< ?extends Number >:允许Number类以及其子类的传入
2、下边界: Vector< ?super Integer >:允许Integer类以及其父类的传入
5,自定义泛型
定义一个交换数值的函数,交换数组中的两个元素,数组类型不定
private static < T> void swap(T[ ] a, int i , int j )
{
T temp = a[ i ];
a[ i ] = a[ j ];
a[ j ] = T temp;
}
}---------------------- <a href="http://www.itheima.com"target="blank">Jsp.java+Android开发</a>、<a href="http://www.itheima.com"target="blank">Jsp.java+Android开发培训</a>、期待与您交流! ----------------------