class AClass<E extends Comparable>与class AClass<E extends Comaprable<E>>有什么区别?

new ArrayList<>()与new ArrayList()一样 都是为了做限定用的
如果不了解你可以看API
这个Comparable里面有一个方法compareTo(T o)
如果你写了后面的E  那么这个T就会成为对应的E 如果不写就可以是其他乱七八糟的对象

这是java升级引进来的新东西 以后都会按后面的写法

在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

时间: 2024-11-19 18:43:29

class AClass<E extends Comparable>与class AClass<E extends Comaprable<E>>有什么区别?的相关文章

Java泛型的应用——T extends Comparable&lt;? super T&gt;

在观察Java源码的时候,发现了这么一个写法T extends Comparable<? super T>.不禁纳闷为什么要这么写呢?有什么好处吗,extends和super在这里的作用着实让人有点不清楚. 接下来,我将结合代码跟大家分享一下我关于这里泛型应用的看法. 1.  <T extends Comparable<? super T>>代表什么意思 大家可以明白的是这里应用到了Java的泛型,那么首先向大家说明一下这里extends的作用 extends后面跟的类

Java范型之T extends Comparable&lt;? super T&gt;

在观察Java源码的时候,发现了这么一个写法T extends Comparable<? super T>.不禁纳闷为什么要这么写呢?有什么好处吗,extends和super在这里的作用着实让人有点不清楚. 接下来,我将结合代码跟大家分享一下我关于这里泛型应用的看法. 1.<T extends Comparable<? super T>>代表什么意思 大家可以明白的是这里应用到了Java的泛型,那么首先向大家说明一下这里extends的作用 extends后面跟的类型,

&lt;T extends Comparable&lt;T&gt;&gt;和&lt;T extends Comparable&lt;? super T&gt;&gt;含义

<T extends Comparable<T>>表明T实现了Comaprable<T>接口,此条件强制约束,泛型对象必须直接实现Comparable<T>(所谓直接就是指不能通过继承或其他方式) <T extends Comparable<? super T>> 表明T的任意一个父类实现了Comparable<? super T>接口,其中? super T表示 ?泛型类型是T的父类(当然包含T),因此包含上面的限制条件

public static &lt;T extends Comparable&lt;? super T&gt;&gt; void sort (List&lt;T&gt; list)的理解

public static <T extends Comparable<? super T>> void sort (List<T> list)的理解 public static <T extends Comparable<? super T>> void sort (List<T> list) (1)首先:public static void sort(List list) (2)为了安全性加泛型:public static <

&lt;T extends Comparable&lt;? super T&gt;&gt;

在看Collections源代码中,看到如下代码: [java] view plain copy public static <T extends Comparable<? super T>> void sort(List<T> list) { Object[] a = list.toArray(); Arrays.sort(a); ListIterator<T> i = list.listIterator(); for (int j=0; j<a.l

如何理解 Java 中的 &lt;T extends Comparable&lt;? super T&gt;&gt;

1 <T extends Comparable<T>> 和 <T extends Comparable<? super T>> 有什么不同 <T extends Comparable<T>> 类型 T 必须实现 Comparable 接口,并且这个接口的类型是 T.只有这样,T 的实例之间才能相互比较大小.例如,在实际调用时若使用的具体类是 Dog,那么 Dog 必须 implements Comparable<Dog>

单链表实现多项式的表示及运算

单链表实现多项式的加法运算 最近学习数据结构的线性表,有顺序存储和链表两种,多项式的表示和运算,最能巩固学习成果,现在提供详细代码,来实现多项式的加法运算. 多项式用单链表最为合适,不会造成更多的资源浪费. 如果你恰好用的这本书--数据结构(Java版)(第4版)(叶核亚),推荐你去下面这个链接下载书本源代码,将更助你学的轻松. http://download.csdn.net/detail/wang______jing/9907538 1 //单链表类,实现一些基本单链表的操作 2 publi

Item 28 利用有限制通配符来提升API的灵活性

<? extends E> 和<? super E>的使用   <? extends E>的使用 Item 26 这是堆栈的公有API: public class Stack<E>{ public Stack(); public void push(E e); public E pop(); public boolean isEmpty(); public void pushAll(Iterable<E> src); } 在使用方法pushAll

第六节:Java泛型

Java 泛型完全解读 阅读目录 一.为什么会出现泛型 二.泛型会带来什么样的问题 1. 不能用基本类型实例化类型参数 2. 不能用于运行时类型检查 3. 不能创建类型实例 4. 不能静态化 5. 不能抛出或捕获泛型类的实例 6. 不允许作为参数进行重载 7. 不能创建泛型数组 三.边界拓展 1. 无界通配符 2. 上界 3. 下界 4. PECS 原则 5. 自限定类型 总结 对于泛型的使用我想大家都非常熟悉,但是对于类型擦除,边界拓展等细节问题,可能不是很清楚,所以本文会重点讲解一下:另外对