0

私は大学で、運動場で作られたプレイボードを作る仕事をしています。すべてのフィールドには、多数のアイテムを含めることができます。私はそのような配列arrayListでそれを作りました:

List<String>[][] items = new ArrayList[x][y];

Eclipseではすべて問題ありませんが、uniのサイトにアップロードするとエラーが発生します。これは、他のリストが含まれている他のプログラムで受け取ったものです。以前のプログラムの私のコードは次のとおりです。

List list = new ArrayList();

そして私はそれをこのように修正しました:

List<String> list = new List<String>();

しかし、私は書くことを許可されていないので、今はケースが異なります:

List<String>[][] items = new ArrayList<String>[x][y]();

これは私が得るエラーです:

Note: student/GameImplementation.java uses unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details

PSタスクを完了するためのよりエレガントな方法を知っている場合は、それを共有してください。私はそのようなことを考えていました:

Board<Fields<Items>> board = new Board();

しかし、それを機能させる方法がわかりません。それらのオブジェクトは私を混乱させます。

前もって感謝します。

4

1 に答える 1

1

最善の方法は、特定のクラス内の単一のセルに含まれるデータを絶対にカプセル化することです。

class Cell {
  List<String> data;
  OtherData data2;
}

Cell[][] items;

中に何を保管していList<String>ますか?オブジェクトを使用するStringことが常に最良の解決策であるとは限らないため、特に有限値のセットがある場合(たとえば、を使用できますenum)。

于 2013-03-20T00:02:29.273 に答える