黑马程序员技术交流社区
标题:
java字符串问题
[打印本页]
作者:
袁有福123
时间:
2015-11-22 22:08
标题:
java字符串问题
为什么判断字符串相等不能使用 == ?
作者:
qq892384796
时间:
2015-11-22 22:56
String 属于引用数据类型,每当创建一个String,都会在堆内存中分配一块区域来用于存储,而我们通常说的String型变量,只是在栈中的一个引用,它所存储的并不是字符串本身而是堆中的内存地址,==运算符在引用数据类型相互比较时,是直接比较内存地址的,而不是里面的数值,好在String类中为我们已经覆写了equals()方法来比较两个字符串是否相等。
s1_s2.png
(79.35 KB, 下载次数: 12)
下载附件
2015-11-22 22:56 上传
作者:
zypt0218
时间:
2015-11-22 23:01
==号比较的是地址值, 且字符串一旦被赋值其值就不能改变,
作者:
Camwly
时间:
2015-11-22 23:01
==对比的是两个变量的地址,equal对比的才是值
作者:
hrfhwy
时间:
2015-11-23 20:13
因为会比较地址
作者:
一江夜雨
时间:
2015-11-23 22:37
==只能比较变量的值。
而2个字符串 比较的是地址值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2