Каков самый вводящий в заблуждение метод в Java Base API? [закрыто]

Недавно я пытался преобразовать строковый литерал вbooleanкогда методboolean Boolean.getBoolean(String name) выскочил из окна автозаполнения. Был и другой способ (boolean Boolean.parseBoolean(String s)) появился сразу после этого, что привело меня к поиску, чтобы выяснить, в чем заключались различия между этими двумя, так как они оба, казалось, делали то же самое.

Оказывается, что, чтоBoolean.getBoolean(String name) на самом деле этопроверьте, существует лиSystem свойство (!) данного имени и если его значениеtrue, Я думаю, что это очень вводит в заблуждение, так как я определенно не ожидаю, что методBoolean на самом деле звонитSystem.getPropertyи, просто взглянув на сигнатуру метода, он выглядит (по крайней мере, для меня), как будто он должен использоваться для анализаString какboolean, Несомненно, Javadoc ясно заявляет об этом, но я все еще думаю, что у метода есть вводящее в заблуждение название, и это не в правильном месте. Другие обертки примитивного типа, такие какInteger Также есть аналогичный метод.

Кроме того, кажется, что это не очень полезный метод для включения в базовый API, так как я думаю, что не очень часто иметь что-то вроде-Darg=true, Может быть, это хороший вопрос для интервью о позиции на Java: «Каковы результатыBoolean.getBoolean("true")? ". Я считаю, что более подходящее место для этих методов будет вSystem класс, например,getPropertyAsBoolean; но опять же, я все еще думаю, что нет необходимости иметь эти методы в базовом API. Было бы разумно иметь их в чем-то вродеProperties класс, где очень распространены такие преобразования.

Что вы думаете обо всем этом? Кроме того, если вам известен еще один «неуклюжий» метод, пожалуйста, опубликуйте его.

Нотабене Я знаю, что могу использоватьBoolean.valueOf или жеBoolean.parseBoolean преобразовать строковый литерал вboolean, но я просто хочу обсудить дизайн API.

Ответы на вопрос(17)

Ваш ответ на вопрос