[Java]泛型中值得注意的点
来源:互联网 发布:str split php 编辑:程序博客网 时间:2024/06/06 03:28
- 泛型(generic)是指参数化类型的能力。
- 可定义带泛型类型的类/方法/接口,随后编译器会用具体的类型替换它。
- 使用泛型的主要优点:
能在编译时而不是运行时检测出错误。 - 泛型类型必须是引用类型。
- 创建对象时:例
new GenericStack<String>()
但构造方法实际定义是:例new GenericStack()
- 可将泛型指定为另一种类型的子类型,这样的泛型类型称为受限的。
- 定义一个类为泛型类型,需将泛型类型放在类名后面;
例:GenericStack<E>
定义一个方法为泛型类型,要将泛型类型放在方法返回类型之前;
例:<E> void max(E o1,E o2)
- 不使用类型参数的泛型类称为原始类型;
例:GenericStack stack=new GenericStack();
- 通配泛型类型的三种形式:
? 非受限通配 <=>? extends Object
? extends T 受限通配 T或T的一个未知子类型
? super T 下限通配 T或T的一个未知父类型 - 举例说明:尽管Integer是Object的一个子类型,但
GenericStack<Integer>
并不是GenericStack<Object>
的子类型。 - 泛型是使用 类型擦除(type erasure)的方法实现的。
- 泛型存在于编译时,泛型信息在运行时是不可用的。
- 不管实际的具体类型是什么,泛型类是被它的所有实例所共享的。
- 由于泛型类型在运行时被消除,因此在使用时有限制:
1.不能使用泛型类型参数来创建实例;
例:new E()
2.不能使用泛型类型参数来创建数组;
例:E[ ] elements=new E[capacity];
规避方法:E[ ] elements=(E[ ])new Object[capacity];—–会有警告
3.不能在静态环境中使用类的泛型类型参数;
4.异常类中不能使用泛型类型参数。
阅读全文
0 0
- [Java]泛型中值得注意的点
- [Java]集合框架中值得注意的点
- java中值得注意的
- java中值得注意的问题
- Java中值得注意的细节1
- Java中值得注意的细节2
- java中值得注意的细节
- 文件上传中值得注意的几点
- Java的File类中值得注意的细节问题
- java中泛型使用中值得注意的几个问题
- ATL中值得注意的C++技术
- struts中值得注意的小知识点
- ajax中值得注意的地方
- Javascript中值得注意的用法
- PHP开发中值得注意的几个问题
- mysql手册中值得注意的知识点
- Thread类中值得注意的方法
- html中值得注意的一点事
- 用户登录图片验证码生成java技术
- Web Workers
- 814/ C. An impassioned circulation of affection(尺取法或者DP)
- 查看 SELinux状态及关闭SELinux
- 关于Android Service真正的完全详解,你需要知道的一切
- [Java]泛型中值得注意的点
- train_word2vec(CNN情感分析yoom例子五)
- Linux下rsync服务器/客户端搭建实战
- Jquery Table 的基本操作
- java基础教程:修饰符(7)
- 【美文】没有人会根据你平庸的现在就能推断出你辉煌的将来
- Nginx源码分析
- 设计模式之工厂模式
- Mysql timestamp整理