List
特定の値のフィールドを持つオブジェクトがに含まれているかどうかを確認したいと思います。これで、ループを使用してチェックを行うことができましたが、もっと効率的なコードがあるかどうか知りたいと思いました。
何かのようなもの;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
上記のコードは何も実行しないことを知っています。これは、私が達成しようとしていることを大まかに示すためです。
また、明確にするために、単純なループを使用したくない理由は、このコードは現在、ループ内のループ内にあるループ内に移動するためです。読みやすくするために、これらのループにループを追加し続けたくありません。だから私は、何かシンプルな方法があるのかと思いました。
equals(Object)
カスタムオブジェクトのメソッドをオーバーライドしますか?
for(Person p:list) if (p.getName().equals("John") return true; return false;
残念ながら、Javaでもっと簡潔な方法を見つけることはできません。
p.equals(p)
べきなので、私はあなたが達成しようとしていることを混乱させています。うまくいけば、新しい質問をすると、より良い支援を受けることができます。