Dopo aver controllato il JavaDocs per un metodo che stavo pensando di utilizzare, requiredNonNull
, mi sono imbattuto nel primo con il singolo parametro (T obj)
.Qual è lo scopo degli oggetti # requireNonNull
Tuttavia qual è lo scopo effettivo di questo particolare metodo con questa firma? Tutto ciò che fa semplicemente è gettare e NPE che sono alquanto positivo (come potrei mancare qualcosa di ovvio qui) verrebbe comunque lanciato.
Produce: NullPointerException - se obj è null
Quest'ultimo rende effettivamente senso in termini di debug certo codice, come il doc afferma inoltre, è progettato principalmente per la convalida dei parametri
public static <T> T requireNonNull(T obj,String message)
Verifica che il riferimento all'oggetto specificato non sia null e genera una NullPointerException personalizzata, se lo è.
Quindi posso stampare informazioni specifiche insieme a NPE per rendere il debug molto più semplice.
Con questo in mente dubito fortemente che mi piacerebbe imbattersi in una situazione in cui preferirei invece usare il primo invece. Per favore, illuminami.
tl; dr - Perché dovresti usare il sovraccarico che non accetta un messaggio.
Qual è la tua domanda attuale? Hai già risposto tu stesso alla domanda che hai posto nel titolo. – Radiodef
@Radiodef Sotirios Delimanolis lo ha sintetizzato meglio: "Penso che la domanda, dal corpo, è perché dovresti usare il sovraccarico che non richiede un messaggio". – Juxhin
Dovresti modificare la tua domanda per chiarire in seguito. – Radiodef