ネストされたオブジェクトを取得したい(Java)
↓の文はコードの説明です。
Seriesクラスのいう、数の列を入れるクラスを定義しています。
その中にはインスタンス変数Vector arrayがあります。
arrayの中には、Integerと、インスタンス化されたSeriesを入れます。
イメージを書くとこんな感じです↓
単純にarrayの中身がIntegerのみの場合は、
series[5, 4, 12, 54, 17]
のようになります
arrayの中身にインスタンス化されたSeriesが入ると、
array[5, array[2, 3], 4]
のようかもしれません。
実際のコードは、
import java.util.Vector;
class Series{
Vector<Object> array = new Vector<Object>(0);
Series(){
array.add(new Integer(5));
array.add(new Series(2, 3)); // ネスト
array.add(new Integer(4));
// 全体のarrayを表示
System.out.println(array);
// 入れ子になっているarrayを表示 (エラーになります)
System.out.println(array.elementAt(1).array);
}
Series(int a, int b){
array.add(new Integer(a));
array.add(new Integer(b));
}
}
public class TestSeries {
public static void main(String[] args){
new Series();
}
}
です。
// 入れ子になっているarrayを表示 (エラーになります)
System.out.println(array.elementAt(1).array);
を消去すれば、
出力結果:[5, Series@7f5f5897, 4]
となります。
// 入れ子になっているarrayを表示 (エラーになります)
System.out.println(array.elementAt(1).array);
を実行した時の目標は
出力結果:[2, 3]
となることです。
インデントがなくなって、読みづらいと思いますが、よろしくお願いします。
お礼
2回までではないということで、 きちんと整理してみました。 そしたらうまくいきました。 ソースコードはきれいに書こうと反省しました。 ありがとうございました。