わかった。授業の目的を誤解しているようです。単一の をシミュレートするクラスを作成しましたが、多くの値を格納するようにRecord
作成しました。Record
クラス構造を少し整理しましょう
public class Record {
private int number;
private int count;
private Object code;
public Record(int number, int count, Object code)
{
this.number = number;
this.count = count;
this.code = code;
}
次に、クラスを作成して、クラス間のインターフェイスを管理できますRecord
。たとえば、次のようになります。
public class Storage
{
List<Record> records;
public Storage()
{
this.records = new ArrayList<Record();
}
public void addRecord(int number, int count, Object code)
{
records.add(new Record(number, count, code));
}
}
そうすれば、追跡するのが面倒な多くの異なる配列をいじることはありません。すべてがオブジェクト内にきれいにまとめられます。
2 番目の属性に関する問題
さて、この変数に何かを格納したいようです。これは元の問題よりもやや複雑ですが、Genericsが問題を解決してくれると思います。コードは書きませんが、デモンストレーションを行うことはできます。
public class GenericExample<T>
{
T object;
public GenericExample(T object)
{
this.object = object;
}
}
さて、ここで行ったことは簡単です。新しいクラス を作成しました。GenericExample
このクラスには特別なタイプ があると言いましたT
。この型は実行時に定義され、さまざまな値を多数定義できることを意味します。例えば。
GenericExample<String> example = new GenericExample<String>("This is a string");
GenericExample<Object> example2 = new GenericExample<Object>(new Object());
型を定義して実行時に渡す方法がわかりますか? これをクラス構造に適用することを考えてみましょう。