java - J2ME应用问题! (空指针异常)

标签 java exception java-me recordstore

我正在创建一个应用程序,它会在第一次运行时安装 3 个 Record Stores。然后它必须使用已经安装的值。该应用程序在模拟器和移动设备中首次运行时运行良好。但是第二次运行在我的初始屏幕加载后显示空指针异常。在初始屏幕之后,我加载了唱片店。但由于某些功能,记录存储也会在首次运行期间被删除、更新。在此期间,midlet 运行没有任何问题。但是,当我在我的手机上第二次打开该应用程序时,它会弹出一条错误消息,提示空指针异常。

我需要以下帮助... 1. 我可以用旧的 recorstores 再次运行模拟器吗?如果是这样怎么办? 2、如何解决空指针异常问题?

请帮忙。

最佳答案

要点:只需阅读堆栈跟踪并相应地修复空指针。

堆栈跟踪的第一行应该包含引起它的源代码的行号。打开源代码并转到该行。它应该看起来像:

someObject.doSomething();

特别注意点运算符 . 用于访问或调用某个对象实例的地方。此类代码行上的 NullPointerException 意味着 someObject 实际上是 null。它只是什么都没有。您不能访问它,也不能调用它的任何方法。

修复NullPointerException 所需要做的就是确保someObject 为空:

if (someObject == null) {
    someObject = new SomeObject();
}
someObject.doSomething();

或者仅在 someObject 不为 null 时才进行访问/调用。

if (someObject != null) {
    someObject.doSomething();
}

关于java - J2ME应用问题! (空指针异常),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1990100/

相关文章:

java - 如何在 Java 中使用 Open Type 字体?

c# - System.ExecutionEngineException 仅在调试时出现

python-2.7 - PyAudio 录音机脚本 IOError : [Errno Input overflowed] -9981

swift - 为什么我在使用 NSTimer 每 x 秒运行一次函数时收到此错误消息?

java - J2ME RecordStore 中的数据不会跨 session 持续存在

java - 如何在 ParseTreeMatch ANTLR4 上使用 getAll(...)

java - JVM Bytecode,如何找到局部变量的类型?

java - For 循环向后递增数组

java - NetBeans 不会检测 java ME 平台

java-me - LWUIT 1.5 表 - 水平跨越布局