Nun, in einigen Fällen System.out.println
eine NullPointerException
werfen könnte machen Sie denken, dass ist, wie es funktioniert.
Wenn Sie ein komplexes Objekt haben, in dem Sie Ihre eigene toString()
-Methode erstellt haben, besteht die Möglichkeit, dass der Fehler innerhalb dieser Methode auftritt. Sie könnten entweder versehentlich oder absichtlich so programmieren, dass das NPE auftritt. Das Objekt selbst ist nicht null, jedoch können einige der darin enthaltenen Attribute null sein.
Eine solche Codierung sollte höchstwahrscheinlich entmutigt werden, da sie den Vertrag bricht, wie andere darauf hingewiesen haben. Das gewünschte Verhalten besteht darin, ein Nullobjekt als null
darzustellen und nicht NPE zu werfen.
Es verwendet String.valueOf und es behandelt null –
Es dereferenziert das Objekt nicht vor der Überprüfung ist es "null". –
Jede Methode, die einen Nullparameter annimmt, sollte keine NPE werfen. Wenn Sie NULL nicht als Argument erwarten, sollte IllegalArgumentExcepion verwendet werden. – Cfx