java - Java 错误

标签 java

这里需要一些帮助。我总是收到这个错误:

ERROR! THREAD NAME: New I/O  worker #2
java.lang.NullPointerException
    at com.rs.game.player.content.DungeoneeringShop.open(DungeoneeringShop.java:12)
    at com.rs.game.player.dialogues.DungTutor.run(DungTutor.java:36)
    at com.rs.game.player.DialogueManager.continueDialogue(DialogueManager.java:31)
    at com.rs.net.decoders.WorldPacketsDecoder.processPackets(WorldPacketsDecoder.java:1130)
    at com.rs.net.decoders.WorldPacketsDecoder.decode(WorldPacketsDecoder.java:268)
    at com.rs.net.ServerChannelHandler.messageReceived(ServerChannelHandler.java:98)
    at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:95)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558)
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:91)
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:373)
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:247)
    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
    at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
    at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

这是我的类(class):

package com.rs.game.player.content;

import com.rs.game.player.Player;

public class DungeoneeringShop {

    private static final int INTERFACE_ID = 72;
    public static Player player;

    public static void open() {
        for(int i = 69; i < 73; i++) 
            player.getPackets().sendHideIComponent(INTERFACE_ID, i, false);
        player.getInterfaceManager().sendInterface(INTERFACE_ID);
    }
}

最佳答案

您还没有初始化播放器。所以它是null

好像是

null.getPackets()  --------------> NullPointerException

所以分辨率是在使用之前初始化它

public static Player player = new Player(); // at declaration level

player = new Player(); // or later some where before using.

关于java - Java 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20124469/

相关文章:

java - 在 Swing 应用程序中应该从哪个线程调用 System.exit()?

java - 从源代码: Codec does not exist构建lucene

java - 如何按字典顺序对 ArrayList 进行排序?

java - (Kotlin Vulkan) vkEnumerateDeviceExtensionProperties 显示总共零个可用扩展

java - 将请求的查询字符串解析为 JSON

java - 以编程方式生成excel文档

java - 如何创建 MNIST 数据集之类的文件

java - 如何使用javafx8在打印机图像上打印

java - Android 以编程方式存储的图像在 PC 上格式无效

java - 具有2个值字段的自定义 HashMap VS在java中实现以数组作为值的 HashMap