2011-11-23 17 views
0

我創建了一個簡單擴展java.lang.Object的類。不能使用數組或列表中的對象

我可以自己使用這個對象來創建任意數量的實例,但我似乎無法在數組或列表中使用它。

public static Area[] areas = null; 
areas[0] = new Area(340, 64, -189, 20, wl); 

// Note that <Area> was something my compiler warned me to do, after I tried without it 
public static List<Area> areaList; 
areaList.add(0, new Area(340, 64, -189, 20, wl)); 

它總是來了一個NullPointerException

07:58:11 [SEVERE] Error occurred while enabling EasyProtect v1.0 (Is it up to date?): null 
java.lang.NullPointerException 
    at main.EasyProtect.onEnable(EasyProtect.java:41) 
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126) 
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:920) 
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:278) 
    at net.madjawa.pluginreloader.PluginReloader.loadPlugin(PluginReloader.java:232) 
    at net.madjawa.pluginreloader.PluginReloader.onCommand(PluginReloader.java:85) 
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:39) 
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163) 
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:353) 
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:756) 
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:721) 
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:714) 
    at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33) 
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) 
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92) 
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108) 
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464) 
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) 
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 

回答

2

你有沒有實例化你的名單?

public static List<Area> areaList = new ArrayList<Area>(); 
areaList.add(new Area(340, 64, -189, 20, wl)); 
1

您需要在使用它之前實例化數組。

public static Area[] areas = new Area[100]; 
areas[0] = new Area(340, 64, -189, 20, wl); 

否則,當您嘗試使用該數組時,您將得到一個NullPointerException

對於任何對象也是如此,包括List

0

這是因爲他們是null。 使用:

public static List<Area> areaList = new ArrayList<Area>(); 
public static Area[] areas = new Area[10]; 
相關問題