java中到底有没有地址

J2EE 码拜 8年前 (2016-09-22) 1076次浏览
在讨论中常常说java某变量的地址,问一下java到底有没有地址,常常说“==”比较内存地址,这个所谓的地址是什么?又怎么样打印地址?
解决方案

60

java分为基本数据类型,和Object对象。八大基本数据类型没有地址,即并非引用,和C++一样是存储在栈中的,不用关键词new。Object作为java中全部类的父类,你平时操纵的其实都是对象的一个引用,这个引用并不是真正存值,而是指向对象的引用。==对于对象来说比较的是地址,假如你想比较具体的值,可以重写对象的equals方法,通常对象的引用地址可以通过toString方法获得。顺便一题,java中String作为特殊的对象,==你可能会觉得他比较的是对象的值,其实是由于它重写了equals方法所致。java中还有常量池的概念,题主也可以了解了解。

10

栈里面的引用地址,也就是指针位置

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明java中到底有没有地址
喜欢 (0)
[1034331897@qq.com]
分享 (0)