Eclipse デバッガーで分析したいコレクションがいくつかあります。各要素の特定の属性に興味があります。
s のリストの例を見てみましょうPerson
(それぞれにaddress
属性があり、さらに属性がありcity
ます)。デバッガーでは、各要素を確認するか、list.get(i).address.city
.
大きな構造に対してこれを行うことは、あまり役に立ちません。関数をデータ構造に適用する可能性はありますか。これは、Perl の関数に似たものですmap
(コードではなくデバッガーで)。
入力は、関心のあるパス (Person.address.city) を含むリスト、出力は選択した要素のみを含むリスト (私の例では都市のリスト) になります。
パールでは:
map { $_->{address}->{city} } @list
編集
Detail FormatterString
で生成できます:
StringBuilder sb = new StringBuilder();
for (Person p : this) {
sb.append(p.address.city());
sb.append(", ");
}
return sb.toString();
これにより、興味のある要素だけでリストがフォーマットされます( としてString
)。
List
正しい方向に進んでいますが、デバッガーで分析できる新しいものを返すことができればいいと思います。