Java泛型扩展了Comparable<;E>;
我正在尝试用Java实现ConcurrentSortedList,我有以下几点:Java泛型扩展了Comparable<;E>;,java,generics,Java,Generics,我正在尝试用Java实现ConcurrentSortedList,我有以下几点: public class ConcurrentLinkedList<E> extends AbstractCollection<E> 正确的语法是什么?我希望E是一个实现可比较接口的对象 我把密码改成了 public class ConcurrentLinkedList<E extends Comparable<E>> extends AbstractCollec
public class ConcurrentLinkedList<E> extends AbstractCollection<E>
正确的语法是什么?我希望E是一个实现可比较接口的对象
我把密码改成了
public class ConcurrentLinkedList<E extends Comparable<E>> extends AbstractCollection<E>
公共类ConcurrentLinkedList扩展了AbstractCollection
但是,下面的代码现在给出了一个错误:
public boolean add(E e) {
checkNullArg(e);
for (;;) {
Node<E> n = header.forward();
for (;;) {
if (n == null)
return false;
**if (e.compareTo(n.element)) {**
public boolean add(E){
checkNullArg(e);
对于(;;){
Node n=header.forward();
对于(;;){
如果(n==null)
返回false;
**如果(例如,比较(n.元素)){**
我正在写一个排序列表,并试图在正确的位置插入元素
节点声明为:
class Node<E> extends AtomicReference<Node<E>> {
private volatile Node<E> prev;
final E element;
类节点扩展了原子引用{
私有易失性节点prev;
最终E元素;
当你第一次声明ie时,你只需要说
,之后它就可以运行了,但是,下面的语句现在给出了一个错误公共布尔add(E){if(E.compare(n.element)){找不到符号:方法compare(E)位置:e类型的变量e,其中e是一个类型变量:e扩展了类中声明的ConcurrentLinkedList@AmarMond你是说e.compareTo
?Comparable
定义了compareTo
方法,而不是compare
。元素n.element
是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)) {**
class Node<E> extends AtomicReference<Node<E>> {
private volatile Node<E> prev;
final E element;