解释java中 = 与equals混淆的问题
2008-07-15 18:02
169 查看
String aa=new String("abcd");
String bb=new String("abcd");
String aa 表示在栈内存中有了一个引用空间,但此时并没有值,还没有创建对象, new aa之后,会在堆内存中分配了空间,例如此时的首地址是0088:1660,所保存对象的值是abcd
String bb 表示在栈内存中有了一个引用空间,但此时并没有值,还没有创建对象, new bb之后,会在堆内存中分配了空间,此时的首地址是0088:4400,所保存对象的值是abcd
== 比较的是aa与bb的值 0088:1660和0088:4400 显然是不相等的
equals 比较的是aa与bb的对象所代表的内容 都是abcd 显然是相等的
String bb=new String("abcd");
String aa 表示在栈内存中有了一个引用空间,但此时并没有值,还没有创建对象, new aa之后,会在堆内存中分配了空间,例如此时的首地址是0088:1660,所保存对象的值是abcd
String bb 表示在栈内存中有了一个引用空间,但此时并没有值,还没有创建对象, new bb之后,会在堆内存中分配了空间,此时的首地址是0088:4400,所保存对象的值是abcd
== 比较的是aa与bb的值 0088:1660和0088:4400 显然是不相等的
equals 比较的是aa与bb的对象所代表的内容 都是abcd 显然是相等的
相关文章推荐
- Java中String类hashCode()和equals()问题
- java易混淆知识“a==b”和”a.equals(b)”有什么区别?
- Java hashCode() 和 equals()的若干问题解答
- java hashcode() 和equals()详解 以及set不能重复问题
- Java初学者容易混淆的几个问题
- Java hashCode() 和 equals()的若干问题解答
- Java初学者容易混淆的几个问题
- java基础之问题:请说出hashCode方法、equals方法、HashSet、HashMap之间的关系
- java常见问题解释
- 关于java String的“==”和equals()比较、引用的小问题
- 基于java的程序OutOfMemory问题的解决及Xms/Xmx/Xss的解释和应用
- Android的JS调用Java代码或使用了Javascript相关技术,混淆问题
- Java中hashcode方法与equals方法关联关系的直观解释
- java问题,(x.equals(y) == true)有相同的hashCode 应该是不一定
- Java中hashCode()与equals()的问题
- Java项目源码为什么要做代码混淆(解释的很好)
- java基础中Integer值用==和equals判断相等问题解析
- java基础问题----"=="和equals方法究竟有什么区别
- java 中hashcode 与 equals的关系(图解释)
- 2015年7月4日解决问题:eclipse连接access数据库问题//java五中布局及其应用方法//equals()与==的区别等