Конструкторы Integer, Long, Float, Double, Boolean, Byte, Short, Character стали deprecated в Java 9

Пожалуй, большинство людей хотя бы раз в жизни использовало конструктор new Integer(int). Это могло случиться либо по незнанию, либо по той причине, что до Java 1.5 это было единственным способом оборачивания int в Integer. Однако, начиная с Java 1.5, этот вызов стал в большинстве случаев необязательным, и вместо него рекомендованным и более эффективным способом обёртки стали метод Integer.valueOf() и автобоксинг:

intList.add(new Integer(5)); // Bad
intList.remove(new Integer(6)); // Bad

intList.add(5); // Good
intList.remove(Integer.valueOf(6)); // Good

Однако до недавнего времени такая рекомендация никак не подкреплялась компилятором. И, наконец, в Java 9 конструкторы Integer пометили аннотацией @Deprecated, а также конструкторы всех остальных обёрнутых примитивных типов: Long, Float, Double, Boolean, Byte, Short, Character. В список deprecated конструкторов также вошли конструкторы, принимающие String: вместо них рекомендуется использовать методы valueOf(String) или parseInt() / parseLong() и т.д.

Подписывайтесь на канал в Telegram, чтобы не пропускать новости.

Все материалы на этом сайте выложены под лицензией CC BY-SA 4.0
© Евгений Козлов, 2017-2024
Feed
Table of JEPs