@username5

Почему конструктор в классе-оболочке не рекомендуется использовать с JDK9?

Здравствуйте, читаю книгу Шилдта по Java.
Вопрос по классам-оболочкам, цитата:

Конструктор Character( ) имеет следующую форму: Character (char символ)
Но, начиная с версии JDK9, конструктор класса Character больше не рекомендован к употреблению. В настоящее время для получения объекта типа Character рекомендуется пользоваться статическим методом valueOf( ). Этот метод возвращает объект типа Character, в который заключается символьное значение ch примитивного типа char

Аналогичный метод valueOf( ) используется и для других оболочек: Byte, Short, Integer, Long, Float, Double.
Вопрос: почему с JDK9 не рекомендуется использовать конструктор, а меняют его на метод?
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Современные архитектурные принципы отдают предпочтения фабричным методам. Правила хорошего тона требуют, чтобы конструктор не занимался ни чем, кроме инициализации полей. Фабричный метод же может делать очень много дополнительных операций, вроде интернирования. Фабричный метод может осуществлять операции на уровне экземпляров, например возвращать синглтон. Фабричный метод может возвращать не только экземпляр класса, но и его подтипы. Фабричные методы могут иметь говорящие имена. И т.д. и т.п.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы