java–Android两个具有相同值的整数不能正确等同

java–Android两个具有相同值的整数不能正确等同,第1张

概述我不是一个java人,所以我不确定这只是一个语言问题.我正在写一个Android应用程序.在应用程序的某一点上,我将与intgers(版本号)进行比较,以查看他们正在使用的应用程序的版本,如果它们不是最新的,则执行某些 *** 作.我注意到我的动作代码一直在运行.所以我检查了一个调试器,我在哪里

我不是一个java人,所以我不确定这只是一个语言问题.

我正在写一个Android应用程序.在应用程序的某一点上,我将与intgers(版本号)进行比较,以查看他们正在使用的应用程序的版本,如果它们不是最新的,则执行某些 *** 作.我注意到我的动作代码一直在运行.所以我检查了一个调试器,我在哪里检查它们是否正在运行正确的版本,我有这样的代码:

if (savedVersionCode != currentVersionCode){   //perform work}

savedVersionCode和currentVersionCode都是整数,并且等于相同的值(在这种情况下为226),但它仍会跳入并执行工作.

我注意到虽然这些值都是226,但每个整数(如果你在eclipse中检查它)都有一个ID,它们都是不同的.

关于最新情况的任何想法?

解决方法:

如果它们是整数值,则您要比较参考.两个不同的对象可以有效地表示相同的数字.尝试:

if (savedVersionCode.intValue() != currentVersionCode.intValue())

要么

if (!savedVersionCode.equals(currentVersionCode))

请注意,您可能使用较低的数字进行管理,因为自动装箱将返回大约0小范围内的数字的相同参考.例如:

Integer x = 5;Integer y = 5;System.out.println(x == y); // Prints truex = 1000;y = 1000;System.out.println(x == y); // *Could* print true, but probably won't
总结

以上是内存溢出为你收集整理的java – Android两个具有相同值的整数不能正确等同全部内容,希望文章能够帮你解决java – Android两个具有相同值的整数不能正确等同所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存