Всем доброго времени суток!Я начал по тихоньку изучать разработку под Android,имея небольшой опыт с Java.Иногда не срабатывают автобоксинг из Java.Например метод принимает аргументом String.В Java я могу,если не ошибаюсь,дать int и он jvm сама его преобразует в String.В Android же этого не происходит,при этом когда при написании явно даешь int IDE не ругается.А не срабатывает автобоксинг уже при работе приложения,в следствии чего оно вылетает.
Есть ли разница в таких мелочах?Стоит ли быть внимательнее при использовании автобоксинга и синтетического сахара ?
автобоксинг - процесс конвертации примитивов int,long double etc в их object wrapper версию и наоборот. https://docs.oracle.com/javase/tutorial/java/data/... Передать int вместо строки это что-то новое, да и вообще звучит как javascript.
Ой что-то у меня зашквар видать в голове произошел...даю методу String.valueOf(int который приходит из вычислений),но когда писал случайно написал просто инт и видно то, что IDE не поругалась дало мне какие-то ложные надежды.Сорри за тупость
>явно даешь int IDE не ругается
потому что у setText например есть два определения: когда внутрь отдаём CharSequence или int. Нужно это, чтобы передавать строки из ресурсов без преобразований в коде. int конвертируется в строку, только если будет выражение вида:
String s = aString + int