Qual é o método mais enganador na API do Java Base? [fechadas]

Eu estava recentemente tentando converter uma string literal em umboolean, quando o métodoboolean Boolean.getBoolean(String name) saiu da janela de preenchimento automático. Houve também outro método (boolean Boolean.parseBoolean(String s)) aparecendo logo após, o que me levou a pesquisar para descobrir quais eram as diferenças entre esses dois, pois ambos pareciam fazer o mesmo.

Acontece que o queBoolean.getBoolean(String name) realmente faz éverifique se existeSystem propriedade (!) do nome dado e se seu valor étrue. Eu acho que isso é muito enganador, como eu definitivamente não estou esperando que um método deBoolean está realmente fazendo uma chamada paraSystem.getProperty, e apenas olhando para a assinatura do método, com certeza parece (pelo menos para mim) como ele deve ser usado para analisar umString como umboolean. Claro, o javadoc afirma isso claramente, mas ainda acho que o método tem um nome enganoso e não está no lugar certo. Outros wrappers de tipos primitivos, comoInteger também tem um método semelhante.

Além disso, não parece ser um método muito útil para pertencer à API base, pois acho que não é muito comum ter algo como-Darg=true. Talvez seja uma boa pergunta para uma entrevista de posição em Java: "Qual é a saída deBoolean.getBoolean("true")"Eu acredito que um lugar mais apropriado para esses métodos seria noSystem classe, por exemplo,getPropertyAsBoolean; mas, novamente, ainda acho desnecessário ter esses métodos na API de base. Faz sentido tê-los em algo como oProperties classe, onde é muito comum fazer esse tipo de conversão.

O que você acha de tudo isso? Além disso, se houver outro método "embaraçoso" que você conheça, poste-o.

N.B. Eu sei que posso usarBoolean.valueOf ouBoolean.parseBoolean para converter uma string literal em umboolean, mas estou apenas procurando discutir o design da API.

questionAnswers(17)

yourAnswerToTheQuestion