Die überprüfung, ob zwei Objekte gleich sind, auch wenn Sie könnte null sein

Manchmal, ich sehe dies:

if (a.equals(b)) do(something);

Jedoch, wenn a null ist, wird eine NullPointerException geworfen wird. Vorausgesetzt, wenn a==null und b==null oder wenn nur a==b ich möchte do(something). Was ist der einfachste Weg dies zu tun ist zu überprüfen, ohne immer eine Ausnahme?

  • Umgang mit null als Sonderfall? Es scheint wie eine triviale Lösung, dass ich annehme, es gibt einen Grund, warum du das nicht können? Bitte erläutern Sie.
  • Das scheint so trivial nicht wahr? Es scheint ratlos beiden anderen. Dies würde eine interessante interview-Frage. Es ist nicht so, dass ist schwer, aber es ist schwer zu tun, in einer einfachen Weise.
  • Manchmal sind die Dinge, die einfach Aussehen, sind nicht immer am einfachsten zu erreichen. Dies war die erste Lektion, die ich gelernt, in der Infinitesimalrechnung und der Suche nach dem Fang in irgendetwas hat mich gerettet aus einer Menge von Fehltritten
  • Bitte klären Sie, ob Sie möchten, um Sie vergleichen das Objekt, oder wenn die zwei a und b zeigen auf das selbe Objekt? für die erste option, die Antworten nur, wenn(a==b) für die zweite option sein, wenn(a==b && a==null||ein.equals(b) )
  • Genauso wie equals() immer funktioniert, Sie vergleichen das Objekt.
InformationsquelleAutor User1 | 2010-01-29
Schreibe einen Kommentar