Почему класс Integer не нуждается в создании экземпляра?

Я пытаюсь понять, почему ты можешь это сделать

Integer name = 1245;

и не нужен экземпляр, созданный таким образом

Integer name = new Integer(1245);

Можно ли создать класс, для которого не требуется создание экземпляра? И если бы вы могли создать такой класс, как бы вы это сделали? Я ищу что-то вроде

AsDigits digits = 1245;

вместо того, чтобы делать

AsDigits digits = new AsDigits(1245);
Автобокс. Нет. Вы не можете добавить автобокс для определенного пользователем типа.
Elliott Frisch 31.03.2018 00:53
stackoverflow.com/questions/27647407/…
Ousmane D. 31.03.2018 00:57

Попался. Спасибо. Это определенно поставило меня на верный путь.

Mike Sraj 31.03.2018 00:57

В java 10 вы можете написать var digits = new AsDigits (1245), что не слишком многословно.

cpp beginner 31.03.2018 01:00
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
4
47
1

Ответы 1

Это связано с Autoboxing. От док

Autoboxing is the automatic conversion that the Java compiler makes between the primitive types and their corresponding object wrapper classes. For example, converting an int to an Integer, a double to a Double, and so on. If the conversion goes the other way, this is called unboxing.

Также Autoboxing нельзя сделать для пользовательского типа. Вы можете проверить это отвечать

Другие вопросы по теме