Red de conocimiento del abogados - Preguntas y respuestas sobre conocimientos de patentes - java.lang.NumberFormatException: para cadena de entrada: "?"Cómo resolver estos dos problemas

java.lang.NumberFormatException: para cadena de entrada: "?"Cómo resolver estos dos problemas

Esto se puede hacer así: Double.parseDouble(n.equals("")?"0":n);

Nota: n es la cadena que necesita convertir .

Porque: java.lang.NumberFormatException:Forinputstring:""

Esta excepción significa que hay un error de formato al convertir una cadena en un número.

""¿La cadena vacía tiene un valor correspondiente? Obviamente no hay ninguno aquí, por lo que la única pregunta es la anterior.

Información ampliada:

Notas

Si el valor pasado no es nulo o "", puede ejecutarse normalmente sin informar un error. Si es un. valor nulo, aparecerá cualquiera de las siguientes excepciones.

por:java.lang.NumberFormatException:Forinputstring:"null"

atjava.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

atjava. lang.Integer.parseInt(Integer.java:580)

atjava.lang.Integer.parseInt(Integer.java:615)

Aquí

Para cadena de entrada: "null"

No significa que el valor pasado esté vacío, sino que la cadena pasada es "null" y StringUtils.split() no puede cortar "null" y, por lo tanto, no puede Lo llama Integer.parseInt(), por lo que se informará un error.

if(customerIdStr!=null&&!customerIdStr.equals("")){

String[]customerIds=customerIdStr.split(",");

//Convertir ID de cliente de cadena a ID entero

for(StringidStr:customerIds){

Integerid=Integer.parseInt(idStr);

customerRepository .updatefixedAreaId (fixedAreaId,id);

}

}else{

return;

}

Por lo tanto, Solo necesita agregar una condición para determinar si el parámetro entrante no es "nulo" después de la declaración de juicio anterior para resolver este tipo de problemas anormales.

if(customerIdStr!=null&&!customerIdStr.equals("")&&!customerIdStr.equals("null")){

String[]customerIds=customerIdStr.split(" ,")