Eu estive me perguntando por algum tempo se é permitido, dentro das melhores práticas, evitar o uso do containsKey()
método emjava.util.Map
e, vez disso, fazer uma verificação nula no resultado de get()
.
Meu raciocínio é que parece redundante fazer a pesquisa do valor duas vezes - primeiro para o containsKey()
e depois novamente para get()
.
Por outro lado, pode ser que a maioria das implementações padrão de Map
cache da última consulta ou que o compilador possa eliminar a redundância e que, para legibilidade do código, seja preferível manter a containsKey()
parte.
Eu apreciaria muito seus comentários.
null
, você deseja tratar isso de forma diferente para uma chave / valor que não está definido? Se você não precisa especificamente tratá-lo de maneira diferente, você pode apenas usarget()