別の方法でそれを使用しようとすると、それはまだコンストラクタ私は、コンストラクタの内部で変数を初期化しますが、私はそうここ
private ActionbarTitleObject timer = TitleFactory.newBarTitle("");
private Plugin plugin;
HashMap<String, Parkour> parkours = null;
public MineJump() {}
public MineJump(ArrayList<Player> players, String configPath, Plugin plugin)
{
super(players);
this.plugin = plugin;
parkours = Parkour.load(configPath, players);
System.out.println(parkours.get("p1").getCurrentSpawn()); //here I get the right value
}
ヌルされるのですが、私はこの方法でparkoursにハッシュマップを使用しようとすると、
@EventHandler
public void onPlayerMove(PlayerMoveEvent e)
{
System.out.println(parkours.get("p1").getCurrentSpawn()); //parkours is null here :(
}
NullPointerExceptionが発生します。何故ですか?
私はこれだけに非引数コンストラクタを使用:Bukkit.getPluginManager().registerEvents(new MineJump(), this);
は、エラーが発生することがありましたこと?はいの場合は、なぜ私に説明することができればいいです。 :)
あなたは、どのようにあなたが 'parkours'をインスタンス化に関する詳細な情報を提供してもらえますか? –
引数なしコンストラクタを使用しましたか?これはあなたのヌルポインタを説明します。 – wtfzn
デバッガを使用します。例外をどこかで静かに飲み込むかどうか確認してください。 – Fildor