gpt4 book ai didi

android - 奇怪的解析崩溃 android - 尝试调用虚拟方法 'int java.lang.Integer.intValue()

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:23 24 4
gpt4 key购买 nike

所以基本上我已经尝试了所有方法,但我总是遇到崩溃。它只是有时崩溃。这是我的代码:

if (mCurrentUser != null && mCurrentUser.containsKey(Constants.TABLE_POINTS)) {
int points = mCurrentUser.getInt(Constants.TABLE_POINTS) + AppSingleton.sPointsLookupMap.get(pointsKey);
mCurrentUser.put(Constants.TABLE_POINTS, points);
mCurrentUser.saveInBackground();
}

堆栈跟踪:

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference
at com.titlesource.ts_foodsource.fragments.KitchenFragment$10.done(KitchenFragment.java:654)
at com.titlesource.ts_foodsource.fragments.KitchenFragment$10.done(KitchenFragment.java:649)
at com.parse.ParseTaskUtils$2$1.run(ParseTaskUtils.java:115)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

现在我发现 intValue() 正在 getInt() 方法内部使用(在 ParseObject 类内部):

 public int getInt(String key) {
Number number = this.getNumber(key);
return number == null?0:number.intValue();
}

为什么我会收到此异常。 我已经尝试了一切。添加了空检查并验证了该字段实际上存在于 mCurrentUser 对象中,但都是徒劳的。

如果对这个问题投反对票,请留下理由。

最佳答案

您有一个 Integer,它是 null,您正试图将其拆箱(从中生成一个简单的 int)。

因为 ParseObjectgetInt(String key) 方法已经检查它是否为空,所以那里没有发生异常。

相反,它将位于 AppSingleton.sPointsLookupMap.get(pointsKey),因此您正试图从 map 中获取一个不存在的对象。

确保它存在,或者为该部分代码添加正确的错误处理。

关于android - 奇怪的解析崩溃 android - 尝试调用虚拟方法 'int java.lang.Integer.intValue(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34812267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com