关于Java泛型的一些思考
2010-03-17 19:09
495 查看
方法签名示例:
public static <T extends Comparable<? super T>> void sort(T[] A)
例子:
假设继承关系:Man extends Person extends Animal (Animal实现Comparable接口,意味着三个类都实现了Comparable接口,在这里不妨设想比较年龄)
很显然,针对Person,Person与Man肯定应该能够相互比较,并且只要实现了Comparable<X>接口,其中X代表Person或Person的超类,Person也一定是Comparable的。这个方法签名的意思实际上是说,对于一个Person,只要他或者他的超类实现了Comparable接口(即Person本身也是Comparable的),那么sort方法就可以将Person或者Person的子类(例如Man,他也通过继承实现了Comparable接口)进行排序。
public static <T extends Comparable<? super T>> void sort(T[] A)
例子:
假设继承关系:Man extends Person extends Animal (Animal实现Comparable接口,意味着三个类都实现了Comparable接口,在这里不妨设想比较年龄)
很显然,针对Person,Person与Man肯定应该能够相互比较,并且只要实现了Comparable<X>接口,其中X代表Person或Person的超类,Person也一定是Comparable的。这个方法签名的意思实际上是说,对于一个Person,只要他或者他的超类实现了Comparable接口(即Person本身也是Comparable的),那么sort方法就可以将Person或者Person的子类(例如Man,他也通过继承实现了Comparable接口)进行排序。
相关文章推荐
- 关于Java设计之初的一些思考
- java学习笔记--关于interface和abstract的一些思考
- 关于近期学习java se篇的小结及一些学习路线的思考
- 关于JAVA中一些简单加密算法的思考
- 关于Java泛型的一些问题
- 关于细粒度泛型DAO封装的一些思考
- 关于Java泛型实现原理的思考与一般用法示例总结
- 关于Java内存溢出的一些思考
- 关于java与C的一些思考
- Java中关于字符编码的一些思考
- 关于 "java中常量定义在interface中好还是定义在class中好" 的一些思考
- 黑马程序员_关于JAVA中栈和堆,以及由此引发的一些思考
- 关于“JAVA中为什么没有了多继承并出现了接口”这一问题引发的一些思考
- 关于Java访问权限的一些思考与总结
- 关于java中Static的一些思考
- 关于java传值还是传引用的一些思考
- 关于JAVA学习的一些思考 ——记于2016.4.24午四时
- [Java]关于堆和栈的一些思考
- Java - 关于扩展线程安全类的一些思考
- 关于 Java 泛型的一些有趣的例子