深入了解Java核心类库--泛型类
时间:2022-02-14 12:01:49|栏目:JAVA代码|点击: 次
1.1 泛型的使用
泛型:参数化模型(不确定,后续使用时指定类型)
1.1.1 泛型类

1.1.2 泛型接口
- 实现接口时,可以选择或不选择指定泛型类型
public interface IntercaceName<T>{
T getData();
}
①指定类型
public class Interface1 implements IntercaceName<String> {
private String text;
@Override
public String getData() {
return text;
}
}
②不指定类型
public class Interface1<T> implements IntercaceName<T> {
private T data;
@Override
public T getData() {
return data;
}
}
1.1.3 泛型方法
private static T 方法名(T a, T b) { }
方法仅在方法内部有效

1.1.4 tips
- 编译之后程序会采取去泛型化措施(泛型只在编译阶段有效)
- 运行时对传入的对象进行相应类型的生成,即对象进入和离开方法的边界处添加类型检查和类型转换的方法(泛型不进入运行阶段)
1.2 泛型限制类型
- 在使用泛型时, 可以指定泛型的限定区域
- 必须是某某类的子类或 某某接口的实现类,格式:
<T extends 类或接口1 & 接口2>

1.3 通配符?
1.3.1 上界限定
- 指了泛型类型的上届(限定了父类)
< ? extends Parent>

1.3.2 下届限定
- 指定了泛型类型的下届(限定了子类)
<? super Child>

1.3.3 无限制
- 指定了没有限制的泛型类型
- 区别于Object
1.4 泛型的作用
- 提高代码的复用率
- 类型在使用时绑定,无序强制类型转换
总结
上一篇:@TransactionalEventListener的使用和实现原理分析
栏 目:JAVA代码
下一篇:JSON的String字符串与Java的List列表对象的相互转换
本文标题:深入了解Java核心类库--泛型类
本文地址:http://www.codeinn.net/misctech/193368.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




