您的位置:首页 > 编程语言 > Java开发

解释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 显然是相等的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: