简单实例解读Java泛型
来源:互联网 发布:张卜天的翻译水平知乎 编辑:程序博客网 时间:2024/05/16 09:57
今天复习了一下泛型的使用方法,现在用非常简单的java代码解读Java泛型原理。
泛型类:Student.java
public class Student<T> {// 此处可以随便写标识符号,T是type的简称private T ob;//定义泛型成员变量public Student(){//无参构造方法super();}public Student(T ob){this.ob = ob;}public T getOb() {return ob;}public void setOb(T ob) {this.ob = ob;}public void showType(){System.out.println("T的实际类型是:"+ob.getClass().getName());}}
测试类:Test.java
public class Test {public static void main(String[] args) {Integer a = 66;//定义Student的一个Integer版本Student<Integer> stuInteger = new Student<Integer>(a);stuInteger.showType();Integer i = stuInteger.getOb();///不同的对象调用相同的方法System.out.println("value= "+i);String www = "http://meirengo.taobao.com";//定义Student的一个String版本Student<String> stuString = new Student<String>(www);stuString.showType();String s = stuString.getOb();///不同的对象调用相同的方法System.out.println("value= "+s);Student stuLong = new Student(new Long(33));//不使用尖括号指定泛型类型stuLong.showType();Long ll = (Long) stuLong.getOb();//不指定泛型类型的需要强制转换(因为不指定泛型类型默认为Object类型)System.out.println("value= "+ll);}}
泛型的优点:
1、类型安全:设置了泛型类型,就只能输入指定类型的数据。
2、消除强制类型转换:参照上面test实例,防止类型转换错误
不仅有泛型类,还有泛型方法,eg:
public <T> Object findList(String queryString, T t);
调用方式:return (List<XXX>)xxx.findList("findAll",yyy);
- 简单实例解读Java泛型
- log4j的优先级解读与简单实例
- 详细解读简单的lstm的实例
- Java的String简单解读
- Java I/O解读与使用实例
- Java I/O解读与使用实例
- Java I/O解读与使用实例
- Java I/O 解读与使用实例
- Java中Websocket使用实例解读
- Java I/O解读与使用实例
- Java I/O解读与使用实例
- java applet 简单实例
- java 简单线程实例
- Memcached java简单实例
- Java Rmi 简单实例
- java 简单servlet实例
- JAVA反射简单实例
- JAVA定时器简单实例
- shell学习笔记
- 为什么将派生类声明为父类的友元类?或者相反
- 对待客户方交流方式的流程
- ANSI/UTF-8/UCS2(UTF-16),以及回车换行
- 《Lua程序设计[第二版]》第5,6章笔记
- 简单实例解读Java泛型
- 几个常用的控件TextView EditText Button MENU按钮
- hdu 4393 Throw nails
- ZOJ 1148
- 用python的twisted做个简单游戏服务器原形--客户端连接monitor管理类
- Extjs 让grid的CheckboxSelectionModel 判断是否全选,监听全选事件
- Useful WPF resources and learning materials
- 用python的twisted做个简单游戏服务器原形--客户端消息处理和重组类MessageQueue
- Linux ALSA声卡驱动之三:PCM设备的创建