実際にはArrayListが実際のデータを保持していますが、何らかのデータを特定の順序で保持していない、非常に単純なクラスSack
を書きました。私はクラスとそのメソッドを実装し、すべてがうまく見えましたが、私はテストクラスでコンパイル時エラーを受け取ります。Generic ArrayListに裏付けられたJava汎用クラス
袋クラス:
public class Sack<E>
{
//I suspect this might be the culprit, not sure if I can do this
//but it compiles fine, should this maybe be of type Object?
ArrayList<E> contents = new ArrayList<E>();
public void add(E item)
{
contents.add(item);
}
public boolean contains(E item)
{
return contents.contains(item);
}
public boolean remove(E item)
{
return contents.remove(item);
}
public Object removeRandom()
{
if(isEmpty())
{
return null;
}
else
{
int index = (int)(Math.random() * size());
return contents.remove(index);
}
}
public int size()
{
return contents.size();
}
public boolean isEmpty()
{
return contents.isEmpty();
}
}
メインクラス:
public class SackDriver
{
Sack<Integer> s = new Sack<Integer>();
Integer i = new Integer(2);
s.add(new Integer(1)); //<- Error
s.add(i); //<- Error
s.add(3); //<- Error
s.add(4); //<- Error
s.add(5); //<- Error
s.add(6); //<- Error
System.out.println("Size: " + s.size() + " Contains: " + s.contains(5));
}
これは私が()を追加するために呼び出しごとに受信エラーです:
SackDriver.java:11: error: <identifier> expected
s.add(x);
私がここで間違っていることを確信していない、どんな助けもありがとう。
を使用:「パブリック静的な無効メイン(文字列[] args)は」 – Luciano
はありがとう..私はそれを見落としかわかりません。 –