eclipse中调试时变量窗口中的valueid代表内存地址,这是一个唯一的数据,实例如下:
public static void main(String args[]){
String a="1234";
String b="1234";
String c = new String("1234");
System.out.println(a==b);
System.out.println(a==c);
System.out.println(a.equals(c));
}
System.out.println(a==b);这一行上打了断点,然后变量窗口显示的是:
是你在调试过程中对应的对象的方法或属性的得到的取值,通过这个取值可以发现你程序的问题
我最近调试也注意了这个问题,好像是对应的对象的在内存地址。我做了一个简单的测试:
public static void main(String args[]){
String a="1234";
String b="1234";
String c = new String("1234");
System.out.println(a==b);
System.out.println(a==c);
System.out.println(a.equals(c));
}
我在 System.out.println(a==b);这一行上打了断点,然后变量窗口显示的是:
所以这个id应该是内存地址
我看到的一个解释,个人觉得靠谱。它是当前程序运行过程中对象的唯一标识。不同行过程,值可能不同。
现在有答案么?