traducir sale saber que porque pointer como catch campo java nullpointerexception bukkit

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())