Java ParseInt Проверка работоспособности - PullRequest
6 голосов
/ 16 января 2012

Я пытаюсь проанализировать int из String элемента массива.Вот мой код:

String length = messageContents[k].replace("Content-Length:", "").replace(" ", "");
System.out.println("Length is: " + length);
int test= Integer.parseInt(length);

System.out.println возвращает следующее: Длина: 23

Однако, когда я пытаюсь проанализировать String вint, java.lang.NumberFormatException получает бросок;

java.lang.NumberFormatException: For input string: "23"

Я немного запутался, как 23 не будут проанализированы в int.Я могу только предположить, что там есть какой-то другой персонаж, который мешает этому, но я не вижу его на всю жизнь.

Любые предложения?

Спасибо

Обновление

Despite the String length having only two characters, Java reports its length as three:
Length is: '23'
Length of length variable is: 3
length.getBytes = [B@126804e

Ответы [ 2 ]

7 голосов
/ 16 января 2012

Попробуйте этот вариант:

int test= Integer.parseInt(length.trim());
3 голосов
/ 16 января 2012

В этой строке могут быть невидимые символы.

Моя идея: использовать регулярное выражение с шаблоном / сопоставителем, чтобы удалить все нечисловые значения в вашей строке, а затем проанализировать его.

...