Nach Überprüfung der JavaDocs für eine Methode, die ich dachte, mit requiredNonNull
, stolperte ich über die erste mit dem einzigen Parameter (T obj)
.Was ist der Zweck von Objects # requireNonNull
Jedoch was ist der eigentliche Zweck dieser bestimmten Methode mit dieser Signatur? Alles, was es einfach tut, ist werfen und NPE, die ich etwas positiv bin (als ich hier vielleicht etwas offensichtlich fehlen) würde sowieso geworfen werden.
Würfe: Nullpointer - wenn obj null ist
Letzteres macht tatsächlich Sinn in Bezug auf bestimmten Code debuggen, wie die Doc auch sagt, es in erster Linie für die Parametervalidierung angefertigt
public static <T> T requireNonNull(T obj,String message)
Überprüft, ob der angegebene Objektreferenz nicht null ist, und eine benutzerdefinierte NullPointerException auslöst, falls dies der Fall ist.
Daher kann ich spezifische Informationen zusammen mit der NPE drucken, um das Debuggen um ein Vielfaches einfacher zu machen.
In diesem Sinne bezweifle ich sehr, dass ich auf eine Situation stoßen würde, in der ich lieber nur die erstere stattdessen verwenden würde. Bitte erleuchte mich.
tl; dr - Warum würden Sie jemals die Überladung verwenden, die keine Nachricht nimmt.
Was ist Ihre eigentliche Frage? Sie haben die Frage, die Sie im Titel gestellt haben, bereits selbst beantwortet. – Radiodef
@Radiodef Sotirios Delimanolis fasst es am besten zusammen - "Ich denke, die Frage, aus dem Körper, ist, warum würdest du jemals die Überladung benutzen, die keine Nachricht nimmt." – Juxhin
Sie sollten Ihre Frage bearbeiten, um sie dann zu klären. – Radiodef