泛型中的模糊继承,解析T的意义
来源:互联网 发布:西西软件盒安卓版 编辑:程序博客网 时间:2024/06/06 05:31
关于泛型中的模糊继承,我们常常会见到
T extends superClass 的语句,为什要采用这种方式呢?其实只定义T 意义是不大的,我们常常会用不确定的类,但是想调用确定的方法,在泛型中我们可以采用继承父类或者接口来实现这种设想
比如说,我想定义一个类型,我希望里面有一个 compareTo()方法,而我们知道compareTo方法是接口 Comparable 中的,子类有很多,所以我们可以这样限制 ArrayList<T extends Compareble> 这样就可以往动态数组中添加实现了compareble的类型了,而且可以使用里面定义的方法。
看一下例子:
package com.jianjian2.Reflection;
publicclass GeniericTest6
{
publicstaticvoid main(String[] args)
{
People<String> people = new People<String>("a","n");
String[] s = {"a","b","vc"};
people.method(s);
}
}
class People<TextendsComparable>
{
private Ts1;
private Ts2;
public People(T s1, T s2)
{
this.s1 = s1;
this.s2 = s2;
}
public T getS1()
{
returns1;
}
publicvoid setS1(T s1)
{
this.s1 = s1;
}
public T getS2()
{
returns2;
}
publicvoid setS2(T s2)
{
this.s2 = s2;
}
public void method(T[] t)
{
for(inti= 0;i < t.length;i ++)
{
System.out.println(t[i].compareTo(t[i]));
}
}
}
实现了Comparable接口的compareTo方法,这样就有了自己的比较机制了,这种方法常常应用到自定义类的比较!
- 泛型中的模糊继承,解析T的意义
- 如何获取继承类中的泛型T的类型
- 继承在软件工程中的意义
- 虚拟继承的意义
- 模板化继承、泛型继承、Veneers的概念解析
- 接口继承接口的意义
- C++虚继承的意义
- 接口继承接口的意义
- 泛型的意义
- 深入解析补码的意义!
- 深入解析补码的意义
- 深入解析补码的意义
- 深入解析补码的意义
- c++继承的等价意义及原因
- 接口,继承的意义和使用方法
- 接口,继承的意义和使用方法
- C++虚继承的意义和使用
- 43-继承的概念和意义
- VS2008LINK : fatal error LNK1000: Internal error during IncrBuildImage
- MFC怎么封装CreateWindow
- Boost asio—— 网络编程
- MQTT的学习研究
- PreferenceActivity 参数设置UI的使用
- 泛型中的模糊继承,解析T的意义
- 九度OJ 题目1192:回文字符串
- boost::asio 中async_read与async_receive的区别
- STM32一个Timer输出4路不同频率、可调占空比的PWM
- Error: no such instruction: `swpb %cl,%dl,[%edi]'
- Hadoop 常见问题总结
- JSF入门例子,显示信息
- 字符串的输入输出
- 访问WEB-INF下使用frameset标签页面出错的原因