对泛型的研究
来源:互联网 发布:知乎的卡通动物图标 编辑:程序博客网 时间:2024/06/11 08:59
在定义类的时候可以写className<T> T叫做泛型形参
在childCls extends className<T> 就不可以
但是childCls<T> extends className<T>可以
类名里写的泛型类型在整个类里都可以使用
如果类里没有定义泛型, 方法里也可以定义
<T> T methodName (T t): 在方法名前面加上<T> 这样T就可以用在方法的返回类型或者参数类型都可以
<T> 在方法里适用,在变量定义里不适用
//以下内容来自:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html
有时候,我们还可能听到类型通配符上限和类型通配符下限。具体有是怎么样的呢?
在上面的例子中,如果需要定义一个功能类似于getData()的方法,但对类型实参又有进一步的限制:只能是Number类及其子类。此时,需要用到类型通配符上限。
1 public class GenericTest { 2 3 public static void main(String[] args) { 4 5 Box<String> name = new Box<String>("corn"); 6 Box<Integer> age = new Box<Integer>(712); 7 Box<Number> number = new Box<Number>(314); 8 9 getData(name);10 getData(age);11 getData(number);12 13 //getUpperNumberData(name); // 114 getUpperNumberData(age); // 215 getUpperNumberData(number); // 316 }17 18 public static void getData(Box<?> data) {19 System.out.println("data :" + data.getData());20 }21 22 public static void getUpperNumberData(Box<? extends Number> data){23 System.out.println("data :" + data.getData());24 }25 26 }
类型通配符上限通过形如Box<? extends Number>形式定义,相对应的,类型通配符下限为Box<? super Number>形式,其含义与类型通配符上限正好相反,在此不作过多阐述了阅读全文
0 0
- 对泛型的研究
- 对qsort的研究
- 对人工智能研究的遐想
- 对Ogre的研究(一)
- 对jpspan的一点研究
- 对 java.lang 的研究
- 对 java.lang 的研究
- 对 java.lang 的研究
- 对 java.lang 的研究
- 对多线程同步的研究.
- 对登陆filter的研究
- 对CURL的一些研究
- 对PE资源的研究
- 对数据库的研究计划
- 对CURL的一些研究
- 对CURL的一些研究
- 对PE资源的研究
- 对CURL的一些研究
- Android上实现仿IOS的导航栏TitleBar
- 我来了啊
- 配置文件恢复
- Spring4.1新特性——Spring MVC增强
- Ubuntu 16.04.2 系统 call to undefined function Home/Controller/jsonencode()
- 对泛型的研究
- SVN创建,切换,合并,删除分支
- opengl三角形剖分与三角形条带化
- Vision Demo Document Index (Procurement) (Doc ID 1075748.1) PO API
- VMBox加载拷贝的vid报错E_INVALIDARG (0x80070057) Cannot register the hard disk 'D:\VMBox\win7.vdi' {7bca5a3
- Java压缩技术(四) GZIP——Java原生实现
- 商城项目demo
- PHP的生命周期
- Initial setup of CentOS Linux 7 (core)