Java泛型简介(6)
来源:互联网 发布:麦克尼尔人类网络 编辑:程序博客网 时间:2024/06/06 12:51
泛型简介:
泛型(Generic Type)是JDK1.5引入的影响最深远、对语言本身变革最大的Java新特性。
特点:
1)泛型可以将类型作为参数进行传递,即类型可以像参数一样实现参数化。
2)在编译的时候检查类型安全。
3)所有的强制转换都是自动和隐式的。
泛型类:
定义:泛型类即在类的定义中声明了范型参数
泛型类的声明格式:class Test<T>{ //类的体内容 }。
尖括号中出现的T就是一种类型参数,将来使用这个类生成的对象时,该对象所接收的类型便成为在Test类中可使用的真正类型。
泛型类的一个实例:
泛型类可以拥有一个类型,也可以拥有多个类型,例如:class Test<T,U,...>{ //类的体内容 }。
注意:类型参数使用大写形式,且比较短,这是最常使用的。
在Java中,使用E表示集合的元素类型;K和V分别表示键与值的类型;T(需要的时候还可以用U和S等)表示任意类型。
泛型方法
定义:范型方法即在方法定义中声明了范型参数的方法。
泛型方法的声明格式:
修饰符范型声明 返回类型 方法名(参数列表){
//方法体
}
泛型方法的例子:
public <T> static String fun2(Tvalue1,T value2){ returnvalue1+","+value2;}public <T,U> void fun(T t1,T t2,Uu1,U u2){ //......}
受限制的泛型
定义:所谓受限的范型就是在声明范型参数时,对其可代表的类型范围进行限制。
声明受限范型参数的语法格式:
<范型参数 extends 最大范围类型>
示例:
public class MyClass<T extendsNumber> {
//……
}
注:这样定义表示类型参数T只能取Number或者其子类型。
示例:开发一个方法,比较两个同类型对象
public static <T extendsComparable<T>> int pk(T o1,T o2){ if(o1==null&&o2==null){ return0; }elseif(o1==null){ return-1; }elseif(o1==null){ return1; } returno1.compareTo(o2);}
使用通配符
定义:在声明范型类的变量时可以使用通配符
使用通配符限制上界:<? extends 上界类型>
示例:
List<? extends Number> list=newArrayList<Integer>();
List<? extends Object> list=newArrayList<String>();
该语句也可写成如下形式:
List<?> list=newArrayList<String>();
注:使用<? extends ...>的定义的对象,不可以调用传递范型参数的方法。
使用通配符限制下界:<? super 下界类型>
示例:
List<? super Number> list=newArrayList<Serializable>();
在创建对象中不可以使用通配符。
- Java泛型简介(6)
- java泛型简介
- java泛型简介
- Java泛型简介
- Java泛型简介
- Java 里的泛型简介.
- java范型简介
- java范型简介
- 6-5 java简介
- printf 简介(java)
- 第一章(Java简介)
- Java(一)简介
- Java简介(一)
- java内省(Introspector)简介
- (转) Java NIO 简介
- java mail 实践(简介)
- (一)1.1JAVA简介
- java Servlet(一)简介
- LeetCode -- Target Sum
- python2与python3的字符串编码对比
- python 获取脚本所在目录的正确方法
- 深度学习在医学领域
- 已知二叉树先序遍历中序遍历求后序遍历
- Java泛型简介(6)
- 1.zookeeper/paxos介绍
- node模块间传值(global、module.exports、exports)
- IPtables中SNAT、DNAT和MASQUERADE的含义
- 学生信息管理系统1——系统设计怎样开始?
- intrins.h文件解读
- 古代探案杂谈
- 开启Linux 路由转发功能
- 字符串还原-vijos