日期:2014-05-20  浏览次数:20606 次

java怎么看指针地址
c:
int   *p;
int   i;
p=&i;
printf( "%d ",p);


java呢?(就是那个“引用地址”)




------解决方案--------------------
看不了吧 虚拟机负责
------解决方案--------------------
object.toString()
------解决方案--------------------
看了有啥用呀?
------解决方案--------------------
可以打印对象的哈希码
------解决方案--------------------
Object类的
hashCode()
toString()
------解决方案--------------------
学习

------解决方案--------------------
樓主,java里面應該是看不了的,因為java沒有了指針操作
------解决方案--------------------
==这个不行吗?
------解决方案--------------------
==就可以了
------解决方案--------------------
查看对象是否同一个内存地址直接==好了
------解决方案--------------------
都用JAVA了 还考虑社么指针问题~~返老还童啊-.-
------解决方案--------------------
那直接用 == 就可以了
‘ == ’ 就是根据他们的地址是否相同进行判断的
------解决方案--------------------
不知道楼主想要干什么?
------解决方案--------------------
==比较的就是对象的地址。你不知道吗?
------解决方案--------------------
首先,你应当搞清楚的是,Java里面的String是不可变的。就是说,当你在main里面把“aaa”赋值给str以后,再在changeStr里面把“bbb”赋值给str,虚拟机就又隐式的创建了一个String,并把你的str引用连接到了新的String。原来的那个“aaa”就已经丢弃了,由JVM负责回收销毁。

然后,如果你想比较2个对象的地址,直接用==就完了。a==b,地址相等则是true,就这么简单。至于怎么看指针地址,我也不清楚toString()出来的是不是,但是在Java里面完全没必要,抛弃指针,不然你不如用C++。
------解决方案--------------------
地址是看不到了。
判断两个引用类型的变量是否正引用着同一个对象用“==”即可。

------解决方案--------------------
==比较的就是对象的地址。你不知道吗?
-----------------------------------
SB, 拜托看清楚代码再讲:

if (str== ???) //这里我想跟main函数里的String str做个==比较
=============================================================
楼主,你基本的编程都不懂啊,你把被比较对象作为参数传进来,怎么比较?就是在C里面也是要这样啊,除非你用全局变量,你怎么不开窍呢?稍微转一下不就行了。
public class StringTest {
public static void changeStr(String str){
String str2=str;
String str= "bbb ";
if (str==str2){
System.out.println( "== ");
}
}
public static void main(String[] args) {
String str= "aaa ";
changeStr(str);
System.out.println(str);
}
}
还有,java里引用和c语言里面的指针概念是等价的。看来学你是刚学java吧,许多东西需要习惯的。java里面的引用虽然和c语言指针是等价的,但是它是不可计算的指针,只能进行相等和不等比较,不能进行加减运算。另外在无法获得引用的物理内存地址,虽然它在内存有实际映象。

------解决方案--------------------
对象的ID并不是引用吧 ?
------解决方案--------------------
直接打印对象,对于非基本型别打印的就是字符串形式的“对象地址”
你再“目测”一下俩字符串是不是一样即可
------解决方案--------------------
哎,讨论就讨论贝,非得要辱骂对方!
就你们认为辱骂能解决问题是不?