java - sale - El campo arrojado después de NullPointerException es comprobar si es nulo
nullpointerexception que es (3)
Sospecho que el problema no está en la condición if
, sino en la declaración que sigue. Comenzaré reformateando el código de esta manera:
String description = getConfig().getString("core.commands." + cmd + ".description");
if (!description.isEmpty())
{
getCommand(cmd).setDescription(description);
}
else
{
getLogger().warning("NO description assigned to: " + cmd);
}
(He eliminado la description = null;
declaración, ya que es casi seguro innecesario).
Con ese cambio, podrá contar más sobre lo que está arrojando la excepción. Puedes ir más allá:
String description = getConfig().getString("core.commands." + cmd + ".description");
if (!description.isEmpty())
{
Command command = getCommand(cmd); // Or whatever type it is
command.setDescription(description);
}
else
{
getLogger().warning("NO description assigned to: " + cmd);
}
Aparte de todo lo demás, cuando ahora revisas el código en un depurador (suponiendo que sea factible) podrás saber si el command
es nulo (que sospecho que es). Si no puede usar un depurador, al menos podría agregar el registro.
(Otros ya han sugerido verificar si la description
es null
, pero parece que ese no es el problema, por lo que he sugerido que el problema podría estar dentro del cuerpo de la declaración if
).
Estoy desarrollando un complemento para Bukkit ( http://bukkit.org ) y después de verificar que no es nulo, me da una NullPointerException en la 2da línea
String description = getConfig().getString("core.commands."+cmd+".description");
if (!(description.isEmpty()))
getCommand(cmd).setDescription(description);
else
getLogger().warning("NO description assigned to: " + cmd);
description = null;
Su código !(description.isEmpty())
no verifica que la description
no sea nula. ¡Para eso necesitas una description != null
.
Su prueba debe ser:
if (description != null && !description.isEmpty()) ...
isEmpty()
es diferente de la verificación null
. isEmpty()
comprobaciones de isEmpty()
es String
is isEmpty()
String
(que significa ""
).
Tienes que hacer algo como
if (description != null && !description.isEmpty())