Страницы

Поиск по вопросам

вторник, 25 февраля 2020 г.

Java: конкатенация строк и Integer.getInteger

#строки #java


Здравствуйте! Столкнулся с проблемой парснига int, объясните, пожалуйста, как думает
компилятор в этот момент и почему он не хочет выдавать мне правильное значение.
String s = "task_123";
String[] paths = s.split("_");
int type = 1;
int i = Integer.getInteger(Integer.toString(type) + paths[1], 0);
int j = Integer.getInteger(type + paths[1], 0);
System.out.println(i);
System.out.println(j);

Выводится 0, 0, а должен 1123, 1123
Как так?
Код на ideone.com    


Ответы

Ответ 1



Компилятор здесь не при чем. Вы используете не тот метод (см. javadoc Integer.getInteger). Вы пытаетесь получить значение типа Integer, которое соответствует имени системного свойства. Т.к. это свойство не определено, то возвращается значение по умолчанию 0, которое вы сами и указали в вызове метода getIneteger. Замените вызов getInteger на parseInt.

Комментариев нет:

Отправить комментарий