欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

深入了解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

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有