分配变量时出现NPE错误(程序不会崩溃,只有调试显示NPE)-Android/Java



我在弄清楚为什么我的一些变量设置不正确时遇到了问题。它们似乎只包含CCD_ 1。以下是我遇到问题的方法。我应该注意,这个程序没有崩溃。我跑步没有问题(尽管没有预期的行为)。只有当我在Android Studio中使用内置调试器时,我才会看到metadataInputlocalOutlocalZip的值为空(实际上,它们指向内存中的一个随机地址,即com.android.File@251435672)。

如果我将String变量(例如称为S1)设置为某个字符串,然后将metadataInput设置为S1,则"元数据输入"不再指向随机存储器地址。有人能解释一下为什么它能以一种方式工作而不能以另一种方式吗?

如果这是您声明的NPE,那么您应该有一个stacktrace。程序没有崩溃的原因是你可能正在处理和"吞噬"你的异常。

考虑删除catch块或重新抛出RuntimeException来包装根本原因以使应用程序崩溃,然后解决崩溃原因!

最新更新