Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bukkit Java NullPointer在检查内容是否为null时_Java_Null_Nullreferenceexception_Bukkit - Fatal编程技术网

Bukkit Java NullPointer在检查内容是否为null时

Bukkit Java NullPointer在检查内容是否为null时,java,null,nullreferenceexception,bukkit,Java,Null,Nullreferenceexception,Bukkit,我使用的是Bukkit API 1.8.3 我有一段代码: for(String vey : main.getConfig().getConfigurationSection("shopitems."+key+".enchantments").getKeys(false)) { Enchantment ench = Enchantment.getByName(vey); int level = main.getConfig().getInt("shopitems."+key+".

我使用的是Bukkit API 1.8.3

我有一段代码:

for(String vey : main.getConfig().getConfigurationSection("shopitems."+key+".enchantments").getKeys(false))
{
    Enchantment ench = Enchantment.getByName(vey);
    int level = main.getConfig().getInt("shopitems."+key+".enchantments."+vey);
    meta.addEnchant(ench, level, true);
}
这段代码给了我一个空指针,指向开始for循环迭代的行

要尝试修复此问题,我有一个空检查程序:

if(main.getConfig().getConfigurationSection("shopitems."+key+".enchantments").getKeys(false)!=null)
在这个空检查之后,我将上面的代码放在这个if语句中

然而,我在测试路径是否为空的行上得到一个空指针

我的问题:为什么这不起作用,我如何修复它

注意:返回文件配置的main.getConfig()不是空的,我已经测试了一个调试过的

if(main.getConfig().getConfigurationSection("shopitems."+key+".enchantments").getKeys(false)!=null)
错误,因为当您尝试
getKeys(false)
时,它返回null,因为
getConfigurationSection()
已经为null。您可以通过以下方式解决此问题:

if(main.getConfig().getConfigurationSection("shopitems."+key+".enchantments") !=null);

main可以为null,main.getConfig()可以为null,等等?我编辑了我的帖子,我调试过main.getConfig()不是null。你测试过getConfigurationSection和getKeys返回的内容吗?@JamesB我正在测试它是否为nullnull@JarFile我的观点是,超长表达式
main.getConfig().getConfigurationSection(“shopitems.”+key+“.enchancts”).getKeys(false)
可以在不同的部分为null。
main.getConfig()
不是null,但是
main.getConfig().getConfigurationSection(“shopitems.”+key+“.enchancts”)
呢?