Пользовательский автобокс? - PullRequest
5 голосов
/ 04 ноября 2008

Возможно ли реализовать автобокс для ваших собственных классов?

Чтобы проиллюстрировать мой пример, вот что я мог бы написать:

Foo foo = "lolcat";

И это то, что Java будет делать (согласно моим собственным определениям, где-то, как-то), под капотом:

Foo foo = new Foo();
foo.setLolcat("lolcat");

Итак, возможно ли это как-то или это только JVM-функция?

1 Ответ

12 голосов
/ 04 ноября 2008

Нет, Java не поддерживает перегрузку операторов (http://en.wikipedia.org/wiki/Operator_overloading).

Автобокс является функцией компилятора и недоступен для ваших собственных классов.

Аргументация объясняется здесь: http://www.cafeaulait.org/javafaq.html#xtocid1902938

...