Mi chiedo da tempo se sia consentito, all'interno delle migliori pratiche, astenersi dall'utilizzare il containsKey()
metodo java.util.Map
e invece eseguire un controllo nullo sul risultato da get()
.
La mia logica è che sembra ridondante cercare il valore due volte: prima per containsKey()
e poi di nuovo per get()
.
D'altra parte può darsi che la maggior parte delle implementazioni standard della Map
cache l'ultima ricerca o che il compilatore possa altrimenti eliminare la ridondanza, e che per la leggibilità del codice è preferibile mantenere la containsKey()
parte.
Apprezzerei molto i tuoi commenti.
null
, vuoi trattarlo diversamente da una chiave / valore che non è impostato? Se non hai specificamente bisogno di trattarlo in modo diverso, puoi semplicemente usareget()