Имею вот такой код в Java:
sort();
Random ra = new Random();
if(r == Rarity.COMMON) {
int i = ra.nextInt(COMMONS.size());
p = COMMONS.get(i);
}
По неизвестным мне причинам, выдает ошибку в данной строчке:
int i = ra.nextInt(COMMONS.size());
Функция sort():
COMMONS.add(Prize.P1);
COMMONS.add(Prize.P2);
COMMONS.add(Prize.P3);
COMMONS.add(Prize.P4);
COMMONS.add(Prize.P5);
Кто знает, как решить эту проблему? Т.к. я делаю плагин к игре, то саму проблему не удается понять по консоли, но если у вас вдруг получится:
[17:08:09] [Server thread/INFO]: BemLo issued server command: /ms case
[17:08:09] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'ms' in plugin MineStrike v0.1 BETA
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) ~[craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:619) ~[craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1106) [craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:966) [craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:37) [craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:9) [craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_91]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_91]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:672) [craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:628) [craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:536) [craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_91]
Caused by: java.lang.NullPointerException
at bemlo.minestrike.cases.PrizeManager.randomPrize(PrizeManager.java:70) ~[?:?] (int i = ra.nextInt(COMMONS.size()); Та самая строчка)
at bemlo.minestrike.cases.OpenCase.makePrize(OpenCase.java:54) ~[?:?]
at bemlo.minestrike.cases.OpenCase.makePrizes(OpenCase.java:58) ~[?:?]
at bemlo.minestrike.cases.OpenCase.<init>(OpenCase.java:40) ~[?:?]
at bemlo.minestrike.MineStrike.onCommand(MineStrike.java:100) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.8.8.jar:git-Bukkit-de5c261]
... 15 more
ArrayString? Нет такого класса в Java - покажите декларациюCOMMONS– Barmaley Feb 02 '18 at 13:42int i = ra.nextInt(COMMONS.size());NPE возникает в этой строке. Здесь вообще есть всего 2 варианта возникновения этого исключения, либоra == null, либоCOMMONS == null. Учитывая что в приведеном кодеraявно инициализируется двумя строками выше, то ваш объектCOMMONSвероятно равенnull– iksuy Feb 02 '18 at 14:15public static ArrayList<Prize> COMMONS;После ваших слов, я понял, что надо:public static ArrayList<Prize> COMMONS = new ArrayList<>();СПАСИБО – LoBem Dev Feb 02 '18 at 14:18