次のようなものは機能しませんか?
if (methodName.equals("set" + this.name)
|| methodName.equals("get" + this.name)
|| (isBoolean() && methodName.equals("is" + this.name))) {
...
}
三項演算子を使用した方法よりも読みやすく、確かに理解しやすいです。また、メソッドへの不必要なメソッド呼び出しを回避できるという利点もありますisBoolean
(1、2、または 4 つのメソッド呼び出しがありますが、あなたのメソッド呼び出しは常に 1 または 3 のいずれかです。パフォーマンスの増減は、おそらく気づくにはあまりにも些細なことです)。
また、 「これは三項演算子の合理的な使用ですか?」というタイトルの同様の質問もあります。あるユーザーは次のように言いました。
三項演算子は値を返すためのものです。
IMO、状態を変更してはならず、戻り値を使用する必要があります。
それ以外の場合は、if ステートメントを使用します。if ステートメントは、コード ブロックを実行するためのものです。
読みやすくするために、'&&' を含む式を括弧で囲んでいることに注意してください。x && y
は の前に評価されるため、それらは必要ありませんm || n
。
使用するかどうかはあなた次第ですが、私は読みやすさを優先して使用を避ける傾向があります。