Ci sono vantaggi per ognuno e capisco le differenze, ma cosa è considerato migliore / pratica standard? E perché?
Ad esempio:
"myString".equals(myStringVar)
- Evita un potenziale NPE e non richiede un controllo nullo. (Cosa buona?)
- Pulitore da leggere poiché non è richiesto un controllo nullo.
- Se null non è un valore previsto, il tuo programma potrebbe rompersi senza essere più saggio.
Tuttavia
myStringVar.equals("myString")
- Richiede un controllo nullo se null è un valore previsto. (Cosa buona?)
- Può ingombrare condizioni condizionali composte con assegni nulli.
- Consente a NPE di farci sapere se qualcosa si è rotto.
Quale variante è considerata lo standard da utilizzare per Java e perché?