私はいくつかのコードの最適化を実行しようとしていますし、オブジェクトのための私の現在のユニークなタイトルの検証は次のようになります。それはどこかんしゃくをスローするまで、Javaのスキップnullオブジェクト.equalsで返す()
public boolean validateTitle(RawProfileConstraint rawProfileConstraint) {
RawProfileConstraint result = profileConstraintMapper.validateTitle(rawProfileConstraint.getTitle());
return (!rawProfileConstraint.getTitle().equals(result.getTitle()));
}
これは動作しますデータベースは、私が検証しようとしているタイトルを含むレコードを取得することができません - それは利用可能です。この場合、result
はnull
になります。 この場合、null
のハンドラを通常のif-else
なしで組み込むにはどうすればよいですか? result
がそれを逆参照する前にnullの場合
なぜ "いつものなし'場合-else'"? –
三元状態?:P – AxelH
ヒント:あなたの名前は混乱します。 "マッパー"のvalidateTitleメソッドはRawProfileConstraintオブジェクトを返します。表示しているvalidateTitleメソッドはブール値を返します。それは少なくとも矛盾している!私の意見では、バリデーションメソッドは無効にし、無効な入力の例外をスローする必要があります。意味のある情報を伝える「実物」を返すことになります。 true/falseを返すだけです。それは1995年のCプログラミングスタイルに似ています。意味:メソッドの名前を変更することを検討してください。それらが「同じように働く」と考えてください。 – GhostCat