J2ME - java.lang.nullPointerException

时间:2011-11-30 23:15:20

标签: exception java-me nullpointerexception midlet lcdui

在这部分代码中获取NullPointerException

public RunningManCanvas(RunningMan midlet) throws Exception {
    super(true);
    System.out.println("ERROR");

    theDisplay = Display.getDisplay(midlet);
    theRunningMan = midlet;
    // Calculate the screen dimensions.
    DISP_WIDTH = getWidth();
    DISP_HEIGHT = getHeight();
}

可能是什么原因?

2 个答案:

答案 0 :(得分:1)

您发布的代码中可能的NPE来源是声明Display.getDisplay(midlet)

API docs for this method明确说明:

  

抛出:
  NullPointerException - 如果m为null

以上,m指的是方法参数。

您可以通过从

扩展日志记录来测试是否是这种情况
    System.out.println("ERROR");

类似

    System.out.println("midlet is null: " + (midlet == null);

答案 1 :(得分:0)

您需要提供更多信息。它可能来自你的超级构造函数,midlet可能为null(我先检查一下),Display.getDisplay()getWidth()中的任何一个都可能发生奇怪的事情。或getHeight()