即時通訊對於我來說有一些複雜的問題。 我需要一個空的支票在這裏,但據我們都知道這一點!= nullJava「this」null檢查計劃任務
但是在計劃任務中會發生什麼?我在一個對象中有一個可運行的類,並且在大約1分鐘後使用裏面可運行的對象的方法,但是如果那個特定的對象在60秒後現在爲空,我會得到錯誤,所以我只需要空檢查那些空檢查... 例如:
ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
{
@Override
public void run()
{
L2PcInstance.this.stopFear(true);
}
}, 60000);
L2PcInstance是基本類/對象上,我想使null檢查
的問題是:
null
Exception in thread "AISTPool-7" java.lang.NullPointerException
at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.endSpree(L2PcInstance.java:11293)
at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.doDie(L2PcInstance.java:4230)
at net.sf.l2j.gameserver.model.actor.status.PcStatus.reduceHp(PcStatus.java:215)
at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.reduceCurrentHp(L2PcInstance.java:9431)
at net.sf.l2j.gameserver.model.actor.L2Character.reduceCurrentHp(L2Character.java:5957)
at net.sf.l2j.gameserver.model.actor.L2Character.onHitTimer(L2Character.java:4359)
at net.sf.l2j.gameserver.model.actor.L2Character$HitTask.run(L2Character.java:2246)
at net.sf.l2j.gameserver.ThreadPoolManager$RunnableWrapper.run(ThreadPoolManager.java:85)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
不要擔心所有的這些類,它們只是觸發器
一個對象不能爲空。一個變量可以引用'null'。 –
你在處理內部課堂嗎? –
是的,這個runnable是L2PcInstance.java的內部,事實是,它有可能在60秒後爲空,而它的明顯不是嗎? – user3236641