java如何判断这个变量是否被重新赋值了
展开全部
Java变量,哦不,包括一切高级编程语言,php,c#,c,c++,这些语法规范里,对于变量的作用的描述,皆是一致的:
变量从来、根本就不具备赋值的能力,变量只可以指向内存区域的一块地址,变量可以被多次赋值,也是因为他可以多次指向不同的地址。
而真正存储不同值的,具备存储能力的是那些断断续续的大型不一的内存区域。
你提问的,变量是否被重新赋值,其实就是是否重新指向其他的内存地址。
怎么判断?
1.先用一个临时变量temp存储这个变量a初始的内存地址 ,也就是这个变量此时的哈希值
2.当一段时间,或者逻辑操作之后,再用temp的值(a的初始地址值)与a此时的内存地址值比较即可。
if语句不用我写了吧?
返回false就是变了,true即为真
谢谢采纳和观看!
变量从来、根本就不具备赋值的能力,变量只可以指向内存区域的一块地址,变量可以被多次赋值,也是因为他可以多次指向不同的地址。
而真正存储不同值的,具备存储能力的是那些断断续续的大型不一的内存区域。
你提问的,变量是否被重新赋值,其实就是是否重新指向其他的内存地址。
怎么判断?
1.先用一个临时变量temp存储这个变量a初始的内存地址 ,也就是这个变量此时的哈希值
2.当一段时间,或者逻辑操作之后,再用temp的值(a的初始地址值)与a此时的内存地址值比较即可。
if语句不用我写了吧?
返回false就是变了,true即为真
谢谢采纳和观看!
更多追问追答
追答
1.补充一些API调用细节,教你怎么写。
不论是引用型变量还是基本变量,都可以使用object类的hashcode()
2.即使是基本数据类型,她也有自动装箱的能力,Java提供了对应的对象去表述,比如int 对应integer对象等。
记住一个API hashcode()函数。
追问
Integer 每次储存值的时候 hashcode都不一样是吗,如果重新赋值了一个一样的数字呢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |