2
A
回答
2
第二个问题的答案是肯定的,你在Eclipse的调试器中看到的“id”唯一标识一个对象,所以其中的变化意味着创建了一个新对象。因此,例如:
Integer i = 55;
Integer j = new Integer(55);
Integer k = Integer.valueOf(55);
这里我和k会有相同的id,因为它们指的是同一个对象; j会有所不同。
由于对象在内存中移动,这些对象之一的内存地址并不是真正有用的信息。所有你能知道的是,如果我== K,他们是同一个对象。 (所以在这里,我== K,但我!= J)。
6
为什么你需要在Java中的任何对象的内存地址?你只能说Integer
实例在堆中。你找不到确切的地址。
第二个问题:是的,Integer
对象是不可变的,所以当Integer
类型的变量的值发生改变时,它意味着它指向Integer
的不同实例。然而,这并不一定意味着新实例是创建的。 new Integer(42)
总是会创建一个新实例,而Integer.valueOf(42)
将在每次调用时创建相同的实例。
0
除非你有一个离JVM开发团队非常近的人,否则你不能找出引用变量中存储了什么类型的数据/地址。我们需要的只是访问驻留在该引用中的对象并对其进行操作/执行。
我不确定你的问题的第二部分。另外,我无法确认ID(在调试器中)是否指Java堆内存位置。
相关问题
- 1. 初始化变量并同时指定存储地址:是否有可能?
- 2. 是否有可能将所有流量转发到IP地址?
- 3. 是否有可能使用全局变量在Java的JSP中
- 4. 是否有可能在变量中更改变量的值?
- 5. 是否有可能在构造函数中声明变量[Java]
- 6. 是否有可能在Java中声明一个1位变量?
- 7. 是否可以在java中获得一个变量堆的地址?
- 8. java中的ip地址是否有效
- 9. 在Java中,可以将非原始类型视为常量吗?
- 10. 是否有可能在apache tomcat中操纵原始http-stream?
- 11. 通过Java中的值分配非原始变量
- 12. 找到链接原始地址,而不是从谷歌,Facebook等
- 13. 是否有可能检测到Java中是否有类可用?
- 14. 是否有可能在java servlet中准确确定客户端的IP地址
- 15. 是否有可能吞下原始输入中的密钥?
- 16. 是否有可能在Java
- 17. 在Objective C中,是否有可能将变量“连接”到另一个变量?
- 18. 是否有可能在Windows中写入任何内存地址
- 19. 是否有可能在modelsim中创建IP地址基数?
- 20. 是否有可能找出变量名称,指向的指针?
- 21. 是否有可能在java中的父类中访问子类的变量?
- 22. 是否有可能在MongoDB中进行原子批量更新?
- 23. 是否有可能获得Java中的对象的物理地址?
- 24. 在Eclipse中,是否有可能找到某个函数,类或变量被调用的地方?
- 25. 如果找不到变量,FreeMarker可以保持原始值吗?
- 26. 现在是否有可能通过Facebook API用户的地址?
- 27. 是否有可能在Java中声明一个变量而有条件?
- 28. 是否有可能产生的原始文件从的WebPack
- 29. 是否有可能在Node中有“线程”局部变量?
- 30. 是否有可能在Java中
什么是身份证号码? – Adrian 2012-01-06 21:28:27