#строки #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.
Комментариев нет:
Отправить комментарий