Red de conocimiento informático - Aprendizaje de programación - 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 "", se puede ejecutar normalmente sin errores. Si es un valor nulo. , aparecerá. Se producirá 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í

Paracadena 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;

}

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

if(customerIdStr!=nullamp;amp;!customerIdStr.equals("")amp;amp;!customerIdStr.equals("null")){

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