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