Я хочу преобразовать примитив в строку, и я пробовал:
myInt.toString();
Это не удается с ошибкой:
int cannot be dereferenced
Теперь я понимаю, что примитивы не являются ссылочными типами (т. е. не являются объектами) и поэтому не могут иметь методов. Однако в Java 5 появилась автоматическая упаковка и распаковка (а-ля C#... что мне никогда не нравилось в C#, но это не относится к делу). Таким образом, с автоупаковкой я ожидаю, что приведенное выше преобразует myInt в Integer, а затем вызывает для этого toString().
Кроме того, я считаю, что С# допускает такой вызов, если я не ошибаюсь. Является ли это просто досадным недостатком спецификации автоупаковки/распаковки Java, или для этого есть веская причина?