Когда я запускаю этот код Java:java.lang.NumberFormatException: Для ввода строки: «5
public void run(){
String stringPacketData=null;
try {
stringPacketData = new String(clientPacketData,"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
System.exit(1);
}
String[] splitString=stringPacketData.split("@");
this.clientID = Integer.parseInt(splitString[0]);
String op="";
op=splitString[1];
if(op.equalsIgnoreCase("popola_cache")){
popolamentoCache(Integer.parseInt(splitString[2]));
}
else{
System.exit(0);
}
}
Где stringPacketData имеет формат: idClient @ operationType @ dimCache, он будет бросать эту excpetion:
Exception in thread "Thread-2" java.lang.NumberFormatException: For input string: "5"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at UDPSocketBased.WorkerUDP.run(WorkerUDP.java:53)
WorkerUDP.java:53 утверждение соответствует: popolamentoCache (Integer.parseInt (splitString [2]));
Я не могу понять, почему моя строка ввода "5" является не в правильном формате.
Распечатайте номер и проверьте, что отображается. '5' или что-то вместе с' 5' – TheLostMind
Возможно ли, что синтаксическая строка содержит некоторые непечатаемые символы? Можете ли вы напечатать все кодовые точки всех своих символов, например 'System.out.println (Arrays.toString (yourString.chars(). ToArray()))' (если у вас есть доступ к Java 8. – Pshemo
Вы проверили длина строки, которую вы обрабатываете? Непечатаемый символ может вызвать исключение, не будучи видимым в сообщении. –