2012-09-21 10 views
6

Eclipseデバッガで分析したいコレクションがあります。私は各要素の特定の属性に興味があります。Eclipseデバッガとコレクション

Personのリスト(例:address属性のそれぞれにcity属性がある)のリストを例にしてみましょう。デバッガでは、各要素を見たり、list.get(i).address.cityを見ることができます。

大きな構造でこれを行うことは、あまり役に立ちません。 Perlのmap関数(コードに含まれていないデバッガ)と同様のデータ構造に関数を適用する可能性はありますか?

入力は私が関心を持つパス(Person.address.city)を持つ私のリストであり、出力は選択された要素だけのリスト(私の例では都市のリスト)です。 Perlで

map { $_->{address}->{city} } @list 

編集

私は詳細フォーマッタStringを生成することができる午前:これはちょうどで私のリストをフォーマットします

StringBuilder sb = new StringBuilder(); 
for (Person p : this) { 
    sb.append(p.address.city()); 
    sb.append(", "); 
} 
return sb.toString(); 

私が興味を持っている要素(Stringとして)。

正しい方向に進みますが、デバッガで解析できる新しいListを返すといいでしょう。

答えて

3

あなたが興味を持っているEclipse Debuggerの機能を論理構造といいます。このような式を書くことができるEclipseの設定(Java/Debug/Logical構造)で論理構造を定義し、ポップアップメニューのリストの表示を置き換えることができる変数ビューで論理構造を定義することができます。

は、基本的な考え方については、このブログ記事を参照してください:http://www.javalobby.org/forums/thread.jspa?threadID=16736&messageID=91823528

2

表示ビューは、各ブレークポイントでカスタムコードを実行する能力を提供します。ブレークポイントでデータ構造を読み、コンソールに表示するだけです。

関連する問題