黑马程序员技术交流社区

标题: java字符串问题 [打印本页]

作者: 袁有福123    时间: 2015-11-22 22:08
标题: java字符串问题
为什么判断字符串相等不能使用 == ?

作者: qq892384796    时间: 2015-11-22 22:56
String 属于引用数据类型,每当创建一个String,都会在堆内存中分配一块区域来用于存储,而我们通常说的String型变量,只是在栈中的一个引用,它所存储的并不是字符串本身而是堆中的内存地址,==运算符在引用数据类型相互比较时,是直接比较内存地址的,而不是里面的数值,好在String类中为我们已经覆写了equals()方法来比较两个字符串是否相等。



作者: 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