私はオブジェクト(Property
)をArrayList<Property>
に入れようとしている小さなアプリケーションに取り組んでいます。基本的に私は何を検索するのMap
で動作する検索機能を作っている。条件が不明な文の場合
例:私はそのようにようにするだろう2013年と2015年
の間でリストされていた名前"12 Hello Lane"
を持つすべてのプロパティを検索したい:
for (Property p : properties){
if (p.getName().equals("12 Hello Lane") && p.getListingDate().getYear() >=2013 && p.getListingDate().getYear() <= 2015){
//Add to list
}
}
問題点、私は合格しています比較するプロパティーはMap
であり、キーはメソッド名であり、値は希望の値です。言い換えれば、
Key: "getName"
Value: "12 Hello Lane"
Key: "getYear"
Value: 2013-2015
...
私の質問は、すべてのプロパティをカバーする単一のif文を使用できるようにする方法ですか?次のようなものがあります。
for (Property p : properties){
if (p.getClass().getMethod(options.getKey()) == options.getValue()){
//Add to list
}
}
これを正しく表現しているかどうかはわかりませんが、皆さんは私のドリフトを願っています。
編集:私はif a AND b AND c...
の効果を達成しようとしています。私は、多くの答えがOR
に近いものを与えているのを見て、私が明確にすると思っただけです。
ありがとうございました。私は朝にこれをチェックする(ちょっと疲れた感じ...)。しかし、これはうまくいくようです... – Riccorbypro
@Riccorbypro問題はありません!デモリンクをクリックすると、何が起こっているのか、そしてこれがあなたが探しているものかどうかを知ることができます。おやすみ! – dasblinkenlight
これはうまくいった!ありがとうございました。 – Riccorbypro