Was ist die irreführendste Methode in der Java Base-API? [geschlossen]

Ich habe kürzlich versucht, ein Zeichenfolgenliteral in ein Zeichenfolgenliteral zu konvertierenboolean, wenn die Methodeboolean Boolean.getBoolean(String name) tauchte aus dem Fenster für die automatische Vervollständigung auf. Es gab auch eine andere Methode (boolean Boolean.parseBoolean(String s)) erschien gleich danach, was mich dazu veranlasste herauszufinden, was die Unterschiede zwischen diesen beiden waren, da beide das gleiche zu tun schienen.

Es stellt sich heraus, dass wasBoolean.getBoolean(String name) Ist wirklich zuÜberprüfen Sie, ob es eine gibtSystem Eigenschaft (!) des angegebenen Namens und ob sein Wert isttrue. Ich finde das sehr irreführend, da ich definitiv nicht damit rechne eine Methode vonBoolean macht tatsächlich einen Anruf zuSystem.getProperty, und wenn man sich nur die Methodensignatur ansieht, sieht es (zumindest für mich) so aus, als ob es zum Parsen von a verwendet werden sollteString Als einboolean. Klar, der Javadoc sagt es klar aus, aber ich denke immer noch, dass die Methode einen irreführenden Namen hat und nicht am richtigen Ort ist. Andere primitive Wrapper, wie zInteger habe auch eine ähnliche methode.

Außerdem scheint es keine sehr nützliche Methode zu sein, in die Basis-API zu gehören, da es meiner Meinung nach nicht alltäglich ist, so etwas zu haben-Darg=true. Vielleicht ist es eine gute Frage für ein Java - Positionsinterview: "Was ist die Ausgabe vonBoolean.getBoolean("true")Ich glaube, ein geeigneterer Ort für diese Methoden wäre dieSystem Klasse, z.B.getPropertyAsBoolean; Aber ich denke immer noch, dass es unnötig ist, diese Methoden in der Basis-API zu haben. Es würde Sinn machen, sie in so etwas wie dem zu habenProperties Klasse, wo es sehr häufig ist, diese Art von Konvertierungen durchzuführen.

Was haltet ihr von all dem? Wenn es eine andere "umständliche" Methode gibt, die Ihnen bekannt ist, posten Sie sie bitte.

N.B. Ich weiß, dass ich es gebrauchen kannBoolean.valueOf oderBoolean.parseBoolean ein String-Literal in einboolean, aber ich möchte nur das API-Design diskutieren.

Antworten auf die Frage(17)

Ihre Antwort auf die Frage