java如何判断这个变量是否被重新赋值了

 我来答
走四方开心0DA
2017-10-11 · TA获得超过382个赞
知道小有建树答主
回答量:185
采纳率:77%
帮助的人:147万
展开全部
Java变量,哦不,包括一切高级编程语言,php,c#,c,c++,这些语法规范里,对于变量的作用的描述,皆是一致的:
变量从来、根本就不具备赋值的能力,变量只可以指向内存区域的一块地址,变量可以被多次赋值,也是因为他可以多次指向不同的地址。

而真正存储不同值的,具备存储能力的是那些断断续续的大型不一的内存区域。

你提问的,变量是否被重新赋值,其实就是是否重新指向其他的内存地址。

怎么判断?
1.先用一个临时变量temp存储这个变量a初始的内存地址 ,也就是这个变量此时的哈希值
2.当一段时间,或者逻辑操作之后,再用temp的值(a的初始地址值)与a此时的内存地址值比较即可。
if语句不用我写了吧?

返回false就是变了,true即为真

谢谢采纳和观看!
更多追问追答
追答
1.补充一些API调用细节,教你怎么写。
不论是引用型变量还是基本变量,都可以使用object类的hashcode()
2.即使是基本数据类型,她也有自动装箱的能力,Java提供了对应的对象去表述,比如int 对应integer对象等。

记住一个API hashcode()函数。
追问
Integer 每次储存值的时候 hashcode都不一样是吗,如果重新赋值了一个一样的数字呢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式