Java Generics E扩展了Comparable <e>

时间:2017-03-14 19:36:22

标签: java generics

我正在尝试用Java实现ConcurrentSortedList,我有以下内容:

class Auto {

    private String type;
    private double pricePerDay;

    public double calculateTotalPrice(int numberOfDays) {
        return numberOfDays * this.pricePerDay;
    }
}

以上编译很好,但如果我将其更改为

public class ConcurrentLinkedList<E> extends AbstractCollection<E>

我收到错误

public class ConcurrentLinkedList<E extends Comparable<E>> extends     AbstractCollection<E extends Comparable<E>>

什么是正确的语法?我希望E成为实现Comparable接口的对象

我将代码更改为

> expected

wrong number of type arguments; required 1

并且它编译,但是下面的代码现在给出错误:

public class ConcurrentLinkedList<E extends Comparable<E>> extends AbstractCollection<E>

我正在编写一个排序列表,并尝试将元素插入正确的位置。

节点声明为:

public boolean add(E e) {
checkNullArg(e);
for (;;) {
  Node<E> n = header.forward();
  for (;;) {
    if (n == null)
      return false;
    **if (e.compareTo(n.element)) {**

0 个答案:

没有答案