相关疑难解决方法(0)

差异<?超级T>和<?在Java中扩展T>

List<? super T>和之间有什么区别List<? extends T>

我曾经使用List<? extends T>,但它不允许我添加元素list.add(e),而List<? super T>它.

java generics collections

751
推荐指数
10
解决办法
21万
查看次数

语法<T在Java中扩展了Class <T >>

关于以下内容我有几点想法:

public interface MaxStack<T extends Comparable <T>>
Run Code Online (Sandbox Code Playgroud)

1 - 为什么实现的类MaxStack应该像这样写:

public class MaxStackclass<T extends Comparable <T>> implements MaxStack<T>
Run Code Online (Sandbox Code Playgroud)

不是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>- 如果我需要比较班上的各种元素,两者都可以,不是吗?

编辑:我认为3的问题是,它可能允许插入以第二种方式定义的列表,以便具有不同的元素,这些元素都可以从可比较的方面扩展,然后当我想比较它们时,它将是不可能的,因为我们无法将String与Integer进行比较,所以都从Comparable扩展.

java generics syntax

8
推荐指数
1
解决办法
6233
查看次数

问题<T延伸可比较<?超级T >>

我有一个三类:1.class 在a Algorithmmax()找到最大值Collection:

public class Algorithm {

    public static <T extends Comparable<T>> T max(Collection<? extends T> coll) {
        T max = coll.iterator().next();

        for (T elm : coll) {
            if (max.compareTo(elm) < 0)
                max = elm;
        }

        return max;
    }
}
Run Code Online (Sandbox Code Playgroud)

2.Class Fruit:

public class Fruit implements Comparable<Fruit> {
    private String name;
    private int size;

    public Fruit(String name, int size) {
        this.name = name;
        this.size = size;
    }

    public int compareTo(Fruit that) {
        if (size …
Run Code Online (Sandbox Code Playgroud)

java generics collections

4
推荐指数
1
解决办法
4054
查看次数

超级Java通配符

我读到使用带有这样的超级通配符:

public class MyClass <T extends Comparable<? super T>> {
   ...
}
Run Code Online (Sandbox Code Playgroud)

代替:

public class MyClass <T extends Comparable<T>> {
   ...
}
Run Code Online (Sandbox Code Playgroud)

可以让这个班级"更通用",但我不明白为什么.

有人能提供一些具体的例子吗?

java generics wildcard super comparable

1
推荐指数
1
解决办法
244
查看次数

标签 统计

generics ×4

java ×4

collections ×2

comparable ×1

super ×1

syntax ×1

wildcard ×1