java -- 初识泛型
来源:互联网 发布:mac 终端 上传文件 编辑:程序博客网 时间:2024/06/05 04:16
泛型是JDK1.5版本新出的内容, 它在一定程度上保证了程序的安全性,
泛型简单的说就是在 容器(比如集合)后面指定该容器存放的内容的类型。
ArrayList<String> al = new ArrayList<String>();al.add(4);该代码是错误的, 因为ArrayList 后面的<String>指定了该集合存放的是String类型的数据, 但是 后面添加的是Integer类型。所以错误(参数不匹配)。
泛型类:
泛型类就是使用该类的对象可以变化。
比如 我定义了一个学生对象, 定义了一个Tool类用来操作学生对象; 然后我又定义了一个老师类, 定义一个Tool类来操作老师对象, 这样下去 我每次定义一个对象就要定义一个Tool类来操作该对象, 这样就很烦, 所以可以将Tool类定义为 泛型类, 这样无论是什么对象 都可以通过这个Tool类来操作。
import java.util.*;class GenericClassDemo{public static void main(String[] args) {Tools<Worker> u = new Tools<Worker>();u.setObject(new Worker());Worker w = u.getObject();}}// 这种方式比定义参数为Object类更加常见, 更好class Tools<Q>{private Q q;public void setObject(Q q){this.q = q;}public Q getObject(){return q;}}class Worker{}class Student{}泛型方法:
泛型类定义的泛型在整个类中有效,如果方法被使用,那么泛型类的对象明确要操作具体类型之后, 所有要操作的类型就已经固定了。
为了让不同的方法可以操作不同的类型, 而且类型不确定, 就可以定义泛型方法。
泛型方法的定义; 就是在该方法的返回值前面(修饰符后面)加上该方法的参数类型。
public <T> void show(T t)// 注意这个泛型<T>的有效区域只有这个方法之中, {System.out.println("show:"+t);}
其实泛型方法也就是都可以改变方法的 参数类型。
泛型方法的类型可以与泛型类的类型不一致。
注意一点: 静态方法的泛型不能与类的泛型一致。 因为静态比类先加载。
如果静态方法操作的引用数据类型不确定, 可以定义一个与类泛型不同的静态泛型方法。
阅读全文
0 0
- Java 泛型初识
- java -- 初识泛型
- 【Java心得总结三-----初识泛型】
- java核心之泛型(一)初识
- Java学习5(泛型初识及其相关)
- 初识java
- 初识java
- 初识Java
- 初识java
- Java初识
- 初识java
- 初识Java
- 初识JAVA
- 初识JAVA
- JAVA初识
- 初识Java
- 初识java
- 初识Java
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下) (出自郭林老师)
- 简单粗暴地入门机器学习
- 学习网站
- 公共技术点之 Java 动态代理
- ZZULIOJ 2131 Can Win【思维建图+最大流】
- java -- 初识泛型
- Go语言的哈希函数
- 天池离线赛
- gulp-ruby-sass与gulp-sass的区别
- Java面试题总结二
- 梦回Android之AS项目签名、多渠道打包
- java 内部类 外部局部变量必须 final 原因
- PHP 字符串存储(转义) addslashes 与 stripslashes 函数
- 请求响应