ich einige Code-Optimierung versuche und meine aktuellen einzigartigen Titel Validierung für ein Objekt sieht wie folgt aus:Java überspringen Null-Objekt, wenn sie mit .equals Rückkehr()
public boolean validateTitle(RawProfileConstraint rawProfileConstraint) {
RawProfileConstraint result = profileConstraintMapper.validateTitle(rawProfileConstraint.getTitle());
return (!rawProfileConstraint.getTitle().equals(result.getTitle()));
}
Das funktioniert, bis er einen Wutanfall wirft, wo Die Datenbank kann keinen Datensatz mit dem Titel abrufen, den ich zu validieren versuche - auch bekannt als verfügbar. result
wird in diesem Fall null
sein. Wie kann ich einen Handler für null
in diesem Fall Szenario ohne Ihre üblichen if-else
integrieren?
Warum "ohne die üblichen' if-else'"? –
ein ternärer Zustand?: P – AxelH
Hinweis: Ihre Benennung ist verwirrend. Ihre validateTitle-Methode für Ihren "Mapper" gibt ein RawProfileConstraint-Objekt zurück; Die validateTitle-Methode, die Sie anzeigen, gibt boolean zurück. Das ist zumindest inkonsequent! Meiner Meinung nach sollte eine Validierungsmethode ungültig sein und eine Ausnahme für ungültige Eingaben auslösen. oder Sie würden ein "reales Objekt" zurückgeben, das aussagekräftige Informationen enthält. Ich gebe nur wahr/falsch zurück; Das ist fast wie 1995 C-Programmierung Stil. Bedeutung: erwägen Sie, Ihre Methoden umzubenennen; bedenke, dass sie "auf die gleiche Weise arbeiten". – GhostCat