论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
安全
›
网络安全
›
Java泛型
Java泛型
欢乐狗
论坛元老
|
2022-8-23 09:32:21
|
显示全部楼层
|
阅读模式
楼主
主题
1012
|
帖子
1012
|
积分
3036
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
目录
概述
使用
泛型类&泛型接口
定义泛型
使用泛型
泛型的确定
泛型方法
定义泛型
使用泛型
泛型的确定
泛型上限&泛型下限
泛型限定的概念
泛型上限
泛型下限
注意事项
概述
泛型可以把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊的类型 。
相当于把数据类型作为参数来进行传递。
注意:泛型只能是引用数据类型。
使用
泛型类&泛型接口
泛型类和泛型接口的用都相同,本篇以泛型类为例进行讲解。
泛型类就是把泛型定义在类上,用户使用该类的时候,才把类型明确下来 。
定义泛型
在类名后加,在中定义泛型,中的内容相当于泛型的名字,可以随便写。在泛型类中我们可以把这个泛型的名字当做一个数据类型来使用。
public class TestClass<T> {
//...
}
复制代码
使用泛型
在泛型类中可以使用在类名后面定义的泛型。
public class TestClass<T> {
public void test(T t){
}
}
复制代码
泛型的确定
①创建对象时确定
在创建泛型类对象的时候确定之前定义的泛型代表什么数据类型。在定义泛型类对象的时候,在类名的后加,在其中写一个具体的数据类型。
public static void main(String[] args) {
TestClass<String> t = new TestClass();//指定了该对象的泛型T是String类型
t.test("愚生浅末");//所以test方法的参数类型应该也是String类型
}
复制代码
完整示例:
public class Test <E>{
public void test(E e){
System.out.println(e);
}
public static void main(String[] args) {
Test<String> e = new Test();
e.test("愚生浅末");
}
}
复制代码
②定义子类时确定
在定义子类的时候可以确定泛型。具体用法如下:
public class SubClass extends TestClass<String> {
@Override
public void test(String s) {
}
}
复制代码
这样在子类SubClass中泛型就确定为String类型了。
注意
:我们在定义子类时也可以选择不确定泛型,让其在创建对象的时候在确定。写法如下
public class SubClass<T> extends TestClass<T> {
@Override
public void test(T t) {
super.test(t);
}
}
复制代码
泛型方法
定义泛型
在方法返回值类型的前面加,在中定义泛型,中的内容相当于泛型的名字,可以随便写。在该泛型方法中我们可以把这个泛型的名字当做一个数据类型来使用。
public static <T> T test(T t){
return t;
}
复制代码
使用泛型
在泛型方法中可以使用定义的泛型。并且我们一般是在参数列表中或者是返回值类型上使用到这个泛型。
public static <T> T test(T t){
return t;
}
复制代码
泛型的确定
在
调用泛型方法
的时候才真正确定之前定义的泛型代表什么数据类型。在
调用泛型方法
的时候,程序会根据你的调用自动推导泛型的具体类型。
public static void main(String[] args) {
Integer test = test(1);
String s = test("愚生浅末");
}
复制代码
泛型上限&泛型下限
泛型限定的概念
我们在使用确定泛型的时候可以使用任意的引用数据类型去确定。但是在某些场景下我们要求这个泛型必须是某个类的子类或者是某个类的父类。这种情况下我们就需要用到泛型上限和泛型上限来限制泛型的范围。
泛型上限
限制泛型必须是某个类或者是其子类。
格式:
[code]
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
欢乐狗
论坛元老
这个人很懒什么都没写!
楼主热帖
C# 读写文件从用户态切到内核态,到底 ...
LeetCode刷题100道,让你滚瓜烂熟拿下S ...
我的 Java 学习&面试网站又又又升级了 ...
SQL server 2008 r2 安装教程
不到一周我开发出了属于自己的知识共享 ...
基于梯度优化的混沌PSO算法matlab仿真 ...
x64dbg 配置插件SDK开发环境
dfs学习笔记
Spring Boot 多数据源配置
KubeEdge在边缘计算领域的安全防护及洞 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
前端开发
Java
Postrge-SQL技术社区
linux
Oracle
运维.售后
IOS
容器及微服务
数据仓库与分析
.Net
快速回复
返回顶部
返回列表