当前位置: 首页 > news >正文

【开端】JAVA泛型类的使用

一、这是一个类

public class CommonVo<D extends CommonDao> implements Serializable {

我们来探讨一样 CommonVo<D extends CommonDao>

这个尖括号里到底能写啥。

首先这是一个泛型类型D ,D类继承了CommonDao,说明尖括号里只要放入一个类就行

<D extends CommonDao> 这个本身也是一个类。

那么我们来猜测一下这样行不行

public class CommonVo<D extends CommonDao  implements  Common > implements Serializable

二、JAVA的泛型

型是JDK 1.5的一项新特性,它的本质是参数化类型(Parameterized Type)的应用,也就是说所操作的数据类型被指定为一个参数,在用到的时候在指定具体的类型。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口和泛型方法。

Java语言中的泛型只在程序源码中存在,在编译后的字节码文件中,就已经被替换为原来的原始类型(Raw Type,也称为裸类型)了,并且在相应的地方插入了强制转型代码,因此对于运行期的Java语言来说,ArrayList<int>与ArrayList<String>就是同一个类。所以说泛型技术实际上是Java语言的一颗语法糖,Java语言中的泛型实现方法称为类型擦除,基于这种方法实现的泛型被称为伪泛型。(类型擦除在后面在学习)

使用泛型机制编写的程序代码要比那些杂乱的使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性。泛型对于集合类来说尤其有用。

一个泛型类(generic class)就是具有一个或多个类型变量的类。定义一个泛型类十分简单,只需要在类名后面加上<>,再在里面加上类型参数:

class Pair<T> {private T value;public Pair(T value) {this.value=value;}public T getValue() {return value;}public void setValue(T value) {this.value = value;}
}


 使用泛型

public static void main(String[] args) throws ClassNotFoundException {Pair<String> pair=new Pair<String>("Hello");String str=pair.getValue();System.out.println(str);pair.setValue("World");str=pair.getValue();System.out.println(str);
}

泛型接口的使用

interface Show<T,U>{void show(T t,U u);
}class ShowTest implements Show<String,Date>{@Overridepublic void show(String str,Date date) {System.out.println(str);System.out.println(date);}
}

http://www.lryc.cn/news/428207.html

相关文章:

  • mp3转换器免费有哪些?6个音频转换器助你一键转换各种音频
  • 力扣爆刷第174天之TOP200五连刷136=140(最小k数、字典序、跳跃游戏)
  • 蚁群算法原理与实战(Python、MATLAB、C++)
  • HTML静态网页成品作业(HTML+CSS)——非遗阜阳剪纸介绍设计制作(1个页面)
  • 如何做萤石开放平台的物联网卡定向?
  • ptrade排坑日记——定时任务执行后,文件权限会变化。
  • TILs 评分:TCGA 肿瘤浸润淋巴细胞病理切片深度学习评分!图片下载与可视化
  • 【运维】如何在浏览器中查看和管理 Cookie 信息?
  • Selenium实战:深度解析Python中嵌套Frame与iFrame的定位与切换技巧,解决Selenium定位不到的问题
  • 机器学习笔记六-朴素贝叶斯
  • 解决Vue3+Ts打包项目时会生成很多的map文件
  • MeterSphere接口测试脚本断言
  • 探索顶级PDF水印API:PDFBlocks(2024年更新)
  • c语言开源库之uthash用法
  • OurTV v3.1.1 — 完全免费,播放流畅的电视直播软件
  • 精武杯的部分复现
  • verdaccio搭建npm私服
  • oracle的dataguard physical standby转 snapshot standby操作文档
  • 学懂C++(四十):网络编程——深入详解 HTTP、HTTPS 及基于 Windows 系统的 C++ 实现
  • Element-06.案例
  • Axure高端交互元件库:助力产品与设计
  • 后端开发刷题 | 二叉树的前序遍历
  • 自动化之响应式Web设计:纯HTML和CSS的实现技巧
  • SolarMarker 正在使用水坑攻击与伪造的 Chrome 浏览器更新进行攻击
  • uView的u-notice-bar组件横向滚动不生效问题解决
  • 基于免疫算法的最优物流仓储点选址方案MATLAB仿真
  • 基于Java爬取微博数据(三) 微博主页用户数据
  • Openstack 与 Ceph集群搭建(中): Ceph部署
  • 上市公司上下游、客户数据匹配数据集(2001-2023年)
  • Promise 对象