我试图实现Java 1.6队列接口,但我得到的错误:无法实现队列 - 不重写抽象方法的报价(java.lang.Object中)
MyBoundedQueue.java:27:MyBoundedQueue不是抽象的,在java.util.Queue中不重写抽象方法的报价(java.lang.Object中)
我真不明白的是,有队列中没有报价(对象)方法类。 Java 1.6 API for Queue说有一种方法布尔报价(E e),其中E是一个参数化的类型,实际上,我已经实现了,如下所示。
任何帮助?
import java.util.ArrayDeque;
import java.util.Iterator;
import java.util.Queue;
public class MyBoundedQueue<ItemType> implements Queue
{
private int _maxSize;
private ArrayDeque<ItemType> _window;
public MyBoundedQueue(int maxSize)
{
_maxSize = maxSize;
_window = new ArrayDeque<ItemType>(_maxSize);
}
public boolean add(ItemType item)
{
if (_window.size() >= _maxSize)
{
_window.removeFirst();
}
_window.addLast(item);
}
public ItemType element()
{
return _window.element();
}
public boolean offer(ItemType item)
{
add(item);
return true;
}
public ItemType peek()
{
return _window.peek();
}
public ItemType poll()
{
return _window.poll();
}
public ItemType remove()
{
return _window.remove();
}
public void clear()
{
_window.clear();
}
public int size()
{
return _window.size();
}
public Iterator<ItemType> iterator()
{
return _window.iterator();
}
}
约定是将参数类型保持为单个大写字母,以便它们可以轻松地与实际的类类型区分开来。 – Dunes 2012-03-08 21:19:49