Java基础知识强化之集合框架笔记31:集合之泛型类的概述和基本使用
2024-10-09 16:04:05
1. 为什么会有泛型呢?
(1)早期的Object类型可以接收任意的对象类型,但是在实际使用中,会有类型转换的问题,也存在这隐患,所以Java提供了泛型来解决这个安全问题。
2. 泛型类的使用:
(1)首先定义一个泛型类ObjectTool,如下:
package cn.itcast_04; /*
* 泛型类:把泛型定义在类上
*/
public class ObjectTool<T> {
private T obj; public T getObj() {
return obj;
} public void setObj(T obj) {
this.obj = obj;
}
}
(2)编写一个泛型类的测试:
package cn.itcast_04; /*
* 泛型类的测试
*/
public class ObjectToolDemo {
public static void main(String[] args) {
// ObjectTool ot = new ObjectTool();
//
// ot.setObj(new String("风清扬"));
// String s = (String) ot.getObj();
// System.out.println("姓名是:" + s);
//
// ot.setObj(new Integer(30));
// Integer i = (Integer) ot.getObj();
// System.out.println("年龄是:" + i); // ot.setObj(new String("林青霞"));
// // ClassCastException
// Integer ii = (Integer) ot.getObj();
// System.out.println("姓名是:" + ii); System.out.println("-------------"); ObjectTool<String> ot = new ObjectTool<String>();
// ot.setObj(new Integer(27)); //这个时候编译期间就过不去
ot.setObj(new String("林青霞"));
String s = ot.getObj();
System.out.println("姓名是:" + s); ObjectTool<Integer> ot2 = new ObjectTool<Integer>();
// ot2.setObj(new String("风清扬"));//这个时候编译期间就过不去
ot2.setObj(new Integer(27));
Integer i = ot2.getObj();
System.out.println("年龄是:" + i);
}
}
运行结果如下:
最新文章
- C#中自己动手创建一个Web Server(非Socket实现)
- 使用GDB调试Go语言
- lower函数
- redis发布订阅
- php中的字符串常用函数(一) strpos() 子字符首次出现的位置
- [moka同学笔记]yii2.0表单的使用
- python语法笔记(六)
- .NET 托管堆和垃圾回收
- 剑指OFFER之旋转数组的最小数字(九度OJ1386)
- jQuery EasyUI之DataGrid使用示例
- zoom 用法
- MariaDB-5.5.33a 编译安装
- (转)HttpHandler与HttpModule的理解与应用
- JavaScript引用类型之RegExp类型(正则表达式)
- YII编码规范
- 自动化运维工具SaltStack - 多环境(使用记录【state.sls 与 state.highstate】)
- Nginx负载均衡的4种方式 :轮询-Round Robin 、Ip地址-ip_hash、最少连接-least_conn、加权-weight=n
- 【高速接口-RapidIO】3、RapidIO串行物理层的包传输过程
- 你不可不知的Java引用类型【总结篇】
- 利用httpd配置虚拟目录创建下载站点