2016-04-21 50 views
1

我的问题是与链接<(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; 
} 
} 

回答

0

你参考Link<E>仿佛Link是通用的,但事实并非如此。

我认为真正的问题是:你为什么试图使用sun.awt.image.ImageWatched.Link这个?它似乎旨在用于与您的目的不同的特定目的。

我想你应该定义你自己的(通用)Link<E>类。它需要做的只是持有Enext参考。

+0

能否请您一步一步解释? –

+0

如果你的意思是我可以请你为你写代码:不,这不是Stack Overflow的工作原理。但是如果我写的东西不够明确,请随时提问。 –

+0

的意思是“举办一个类型的东西和下一个参考”? –