Java Generics – 插入内部类型参数
发布时间:2020-12-15 04:15:46 所属栏目:Java 来源:网络整理
导读:我是 java的新手.我只是想传递Comparable String进入泛型类型的方法参数 E extends Comparable E .我相信 E的含义扩展了Comparable E是任何扩展Comparable的对象.请告诉我如何传递Comparable String或任何扩展Comparable String的对象并且还有另一个对象. 编
我是
java的新手.我只是想传递Comparable< String>进入泛型类型的方法参数< E extends Comparable< E>> .我相信< E的含义扩展了Comparable< E>>是任何扩展Comparable的对象.请告诉我如何传递Comparable< String>或任何扩展Comparable< String>的对象并且还有另一个对象.
编译器给我错误推断类型比较< String>不是有界参数的有效替代< E extends Comparable< E>> 码: public class Compare<T> implements Comparable<T>{ public int compareTo(T o) { return 0; // Not worried about logic } } class CompareTest{ public <E extends Comparable<E>>void testGeneric(E e){ System.out.println("Executed"); } public static void main(String args[]){ Compare<String> compare = new Compare<String>(); CompareTest test = new CompareTest(); test.testGeneric(compare); //The inferred type Compare<String> is not a valid substitute for the bounded //parameter <E extends Comparable<E>> } } 解决方法
E扩展了可比较的< E>表示:类型E能够与相同类型的其他对象进行比较E.
但您的比较类型不符合条件.它无法与另一个比较比较.比较< T>只能将自身与T进行比较,而不是比较< T>,因为它被声明为 public class Compare<T> implements Comparable<T> 使用此比较类型很难理解您想要实现的目标. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |