我有几个关于思想如下:语法<T延伸<T>类> Java中
public interface MaxStack<T extends Comparable <T>>
1 - 为什么实现MaxStack
类应该这样写:
public class MaxStackclass<T extends Comparable <T>> implements MaxStack<T>
而不是public class MaxStackclass<T extends Comparable <T>> implements MaxStack<T extends Comparable <T>>
?
2-为什么使用泛型时该类的私有变量只能用<T>
编写,而不能用<T extnds Comparable<T>>
编写?例如,private List<T> stack= new ArrayList<T>();
3-<T extends Comparable<T>>
和<T extends Comparable>
之间有什么区别 - 如果我需要比较我班的元素,那么两者都是O.K,不是吗?
编辑:我认为3的问题在于它可能允许插入一个列表,它以第二种方式定义了不同的元素,这些元素都是可比的,然后当我想比较它们时,不可能,因为我们无法将String与Integer进行比较,它们都是从Comparable扩展而来的。
款式就在鸡蛋里挑骨头:你的公共类的名字是不是首字母大写,避免误解的约定。虽然它不是嵌套类的问题,但在这种情况下,它是一个公共类... –
谢谢@Tassos。 – Numerator
为获得最佳效果,请使用'> –
newacct