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);
}
}

运行结果如下:

最新文章

  1. C#中自己动手创建一个Web Server(非Socket实现)
  2. 使用GDB调试Go语言
  3. lower函数
  4. redis发布订阅
  5. php中的字符串常用函数(一) strpos() 子字符首次出现的位置
  6. [moka同学笔记]yii2.0表单的使用
  7. python语法笔记(六)
  8. .NET 托管堆和垃圾回收
  9. 剑指OFFER之旋转数组的最小数字(九度OJ1386)
  10. jQuery EasyUI之DataGrid使用示例
  11. zoom 用法
  12. MariaDB-5.5.33a 编译安装
  13. (转)HttpHandler与HttpModule的理解与应用
  14. JavaScript引用类型之RegExp类型(正则表达式)
  15. YII编码规范
  16. 自动化运维工具SaltStack - 多环境(使用记录【state.sls 与 state.highstate】)
  17. Nginx负载均衡的4种方式 :轮询-Round Robin 、Ip地址-ip_hash、最少连接-least_conn、加权-weight=n
  18. 【高速接口-RapidIO】3、RapidIO串行物理层的包传输过程
  19. 你不可不知的Java引用类型【总结篇】
  20. 利用httpd配置虚拟目录创建下载站点

热门文章

  1. source insight 使用技巧
  2. Codeforces 161D
  3. 【UVALive - 3211】Now or later (二分+2-SAT)
  4. Lua常用的数据结构表示
  5. bzoj3790
  6. 使用Redis作为消息队列服务场景应用案例
  7. c#查看电脑内存
  8. oracle查询语句2【转载】
  9. Unity 打包完太大
  10. Java---网络编程(3)-TCP-互传文件和图片