Stack Linked implementation import

时间:2016-04-21 12:17:33

标签: java stack

我的问题是链接<(E)>,是说:

  

" sun.awt.image.ImageWatched.Link不接受参数;"

我已经导入了sun.awt.image.ImageWatched.Link; 代码有什么问题? 我该如何做对?

以下是代码:

public class LStack<E> implements Stack<E> {
private Link<E> top=;
private int size;

public LStack(){
    top = null;
    size = 0;
}

public LStack(int size){
    top = null;
    size = 0;
}

@Override
public void clear(){
    top = null;
    size = 0;
}

@Override
public void push(E it){
    top = new Link<E>(it, top);
}

@Override
public E pop(){
    assert top != 0 : "Stack is empty";
    E it = top.element();
    top = top.next();
    size--;
    return it;
}

@Override
public E topValue(){
    assert top != 0 : "Stack is empty";
    return top.element();
}

@Override
public int length(){
    return size;
}
}

1 个答案:

答案 0 :(得分:0)

您引用Link<E>,好像Link是通用的,但事实并非如此。

我认为真正的问题是:为什么要尝试使用sun.awt.image.ImageWatched.Link?它似乎是出于特定目的而与您的目的不同。

我认为您应该定义自己的(通用)Link<E>类。它需要做的只是保持E类型和next引用。