Страницы

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

вторник, 14 мая 2019 г.

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

Здравствуйте! Столкнулся с проблемой парснига 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


Ответ

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

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

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