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