本帖最后由 Gerryawa 于 2020-10-4 16:58 编辑
RT
报错如下
代码
望大佬解答
RT
报错如下
代码
望大佬解答
本帖最后由 洞穴夜莺 于 2020-10-4 17:20 编辑
cs指针明显为空
你怎么能对一个空指针解引用呢
复制代码
cs指针明显为空
你怎么能对一个空指针解引用呢
- if (cs.getKeys(false)!=null) {
洞穴夜莺 发表于 2020-10-4 17:12
cs指针明显为空
你怎么能对一个空指针解引用呢
那为什么使用这个方法无法get到内容?
本帖最后由 洞穴夜莺 于 2020-10-4 17:49 编辑
因为cs是空的
我告诉你我家地址是“”
你能找到我吗?
拜托学学Java吧
我把你这段程序完全重写了一遍
复制代码
Gerryawa 发表于 2020-10-4 17:34
那为什么使用这个方法无法get到内容?
因为cs是空的
我告诉你我家地址是“”
你能找到我吗?
拜托学学Java吧
我把你这段程序完全重写了一遍
- public static ArrayList<Arena> getCanLoadArenas() {
- ArrayList<Arena> arenas = new ArrayList<>();
- ConfigurationSection cs = arenaConfig.getConfigurationSection("arenas");
- if(cs == null)
- return arenas;
- for(String key : cs.getKeys(false)) {
- Object value = cs.get(key + "arena");
- if(value instanceof Arena) {
- Arena arena = (Arena) value;
- if(arena.getLoc1() != null && arena.getLoc2() != null && arena.getLoc1().getWorld().equals(arena.getLoc2().getWorld()))
- arenas.add(arena);
- }
- }
- return arenas;
- }
洞穴夜莺 发表于 2020-10-4 17:36
因为cs是空的
我告诉你我家地址是“”
你能找到我吗?
其实看了题主的这个程序我有点疑问
在没有任何反序列化的情况下
真的可以做到ConfigurationSection里取出来一个值就是Arena这个对象么
Arena对象并不是Bukkit自带的东西
序列化保存后不反序列化也可以直接取出么?
William_Shi 发表于 2020-10-4 18:44
其实看了题主的这个程序我有点疑问
在没有任何反序列化的情况下
真的可以做到ConfigurationSection里取出 ...
其实我也有这个疑问,在回他帖前就查了代码
我看了Bukkit的代码,大致想法如下:
1,YamlConfiguration的ConfigurationSection里取出来一个值就是Arena是有可能的,前提是楼主把这玩意当HashMap用
2,Bukkit的YamlConfiguration没法从文件反序列化得到的ConfigurationSection中取出Arena对象
3,这个ConfigurationSection不一定是YamlConfiguration,可能是第三方实现