Java泛型
来源:互联网 发布:云顶娱乐软件下载 编辑:程序博客网 时间:2024/05/18 14:12
泛型是从jdk1.5开始有的,在jdk1.5中,java.util包中的集合类都已经被泛化了。泛型允许对类型进行抽象,泛型的本质是类型参数化,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类,接口和方法的创建中,分别称为泛型类,泛型接口,泛型方法。自定义泛型类
package Test;import java.util.Vector;import sun.applet.Main;class Student<T> { private String name; private T t; public String getName() { return name; } public void setName(String name) { this.name = name; } public T getT() { return t; } public void setT(T t) { this.t = t; }}public class Generic{ public static void main(String[] args) { Student<Integer> stu = new Student<Integer>(); stu.setName("test"); stu.setT(123); }}
其中尖括号的部分称为类型参数,该参数在定义是不需要指定具体类型,在实例化和使用时才去具体知名使用的类型。
需要注意的是同一个泛型类应用不同的类型参数符合而成的类型间并不存在继承关系。比如:List和List不存在继承关系。
类型通配符
public class Generic1{ public static void main(String[] args){ Vector<String>c = new Vector<String>(); c.add("test"); printC(c); } static void printC(Vector<Object> c) { for(Object e:c) { System.out.println(e); } } //这例应用的泛型貌似是合理的,但编译是不能通过的。因为Vector<Object>并不是Vector<String>类型的父类型。 //如果把上述方法改成如下代码 static void printC(Vector<?> c) { for(Object e:c) { System.out.println(e); } } //“?”为类型通配符。}
0 0
- 【java 2】java泛型
- Java 泛型 Java generic
- Java Tutorials_Generics(java泛型)
- Java基础 Java 泛型
- java 泛型
- java泛型
- Java泛型
- Java泛型
- java泛型
- java泛型
- java泛型
- Java 泛型
- Java泛型
- Java 泛型
- JAVA 泛型
- java 泛型
- java泛型
- Java泛型
- qt-creator中的 运行程序的 工作目录 与 程序所在的目录
- 盒模型基础知识简述
- Java基础——成员变量、局部变量和静态变量的区别
- PyCharm2016.3使用贴士及安装和汉化
- 20161126
- Java泛型
- 可变参数列表
- String to Integer (atoi)【易】
- 动力节点—关键字,标识符,常量,变量,数据类型
- Hadoop 入门2、简要介绍Hadoop的各个主要模块(概念层次)
- 块元素,内联元素,内联块标签的划分及相互转化和嵌套
- 如何在 Linux 系统下检测硬盘上的坏道和坏块
- MFC使用CEF并实现js与C++交互功能,解决Render进程中OnContextCreated绑定与OnWebKitInitialized的js扩展无法回调问题
- UVa400