
语言基础
文章平均质量分 75
axxbc123
这个作者很懒,什么都没留下…
展开
-
【Java范型一】Java范型详解之范型集合和自定义范型类
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。 范型内容范型集合类范型类范型方法...原创 2014-08-30 13:38:08 · 701 阅读 · 0 评论 -
【Java范型二】Java范型详解之extend限定范型参数的类型
在第一篇中,定义范型类时,使用如下的方式: public class Generics<M, S, N> { //M,S,N是范型参数} 这种方式定义的范型类有两个基本的问题: 1. 范型参数定义的实例字段,如private M m = null;由于M的类型在运行时才能确定,那么我们在类的方法中,无法使用m,这跟定义private Object m...2014-08-30 22:19:40 · 1280 阅读 · 0 评论 -
【Java范型三】Java范型详解之范型类型通配符
定义如下一个简单的范型类, package com.tom.lang.generics;public class Generics<T> { private T value; public Generics(T value) { this.value = value; }} @...原创 2014-09-01 19:47:37 · 275 阅读 · 0 评论 -
【Java范型四】范型方法
范型参数不仅仅可以用于类型的声明上,例如 package com.tom.lang.generics;import java.util.List;public class Generics<T> { private T value; public Generics(T value) { this.value = val...原创 2014-09-01 20:18:00 · 287 阅读 · 0 评论 -
【Java范型五】范型继承
定义如下一个抽象的范型类,其中定义了两个范型参数,T1,T2 package com.tom.lang.generics;public abstract class SuperGenerics<T1, T2> { private T1 t1; private T2 t2; public abstract void doIt(T1 t...原创 2014-09-01 20:53:06 · 300 阅读 · 0 评论 -
【Java范型六】范型与枚举
首先,枚举类型的定义不能带有类型参数,所以,不能把枚举类型定义为范型枚举类,例如下面的枚举类定义是有编译错的 public enum EnumGenerics<T> { //编译错,提示枚举不能带有范型参数 OK, ERROR; public <T> T get(T type) { return null; }}...原创 2014-09-01 21:03:12 · 139 阅读 · 0 评论 -
【Java范型七】范型消除
范型是Java1.5引入的语言特性,它是编译时的一个语法现象,也就是说,对于一个类,不管是范型类还是非范型类,编译得到的字节码是一样的,差别仅在于通过范型这种语法来进行编译时的类型检查,在运行时是没有范型或者类型参数这个说法的。范型跟反射刚好相反,反射是一种运行时行为,所以编译时不能访问的变量或者方法(比如private),在运行时通过反射是可以访问的,也就是说,可见性也是一种编译时的行为...原创 2014-09-01 21:32:59 · 159 阅读 · 0 评论