我的代码中有一些问题,我需要帮助我,谢谢 所以当我调用方法
时,我用数组创建RandomizedQueue的APIpublic static <Item> void enqueue(Item item)
{
if(item == null)throw new NullPointerException();
s[N++] = item;
}
在返回错误的客户端类中,我认为我在数组中的问题是如何创建static <Item> Item[]
(泛型类型)。
答案 0 :(得分:1)
您无法在类中声明静态通用字段。即使不是类本身是通用的,也请参阅Declaring static generic variables in a generic class。
编写泛型类RandomizedQueue
,并实例化它(创建对象):
public class RandomizedQueue<Item>
{
private Item[] items = new Item[CONSTANT];
private int count = 0;
public void enqueue(Item item)
{
if(item == null) throw new IllegalArgumentException("item mustn't be null");
if(count == CONSTANT) throw new IllegalStateException("queue is full");
items[count++] = item;
}
public Item dequeue()
{
if(count == 0) throw new IllegalStateException("queue is empty");
int index = (int)(Math.random() * count);
Item item = items[index];
items[index] = items[--count];
return item;
}
public int getCount()
{
return count;
}
}