String 用==比较 也能得到结果 为什么强烈推荐用equal

问题:在检视代码的时候发现类似于这样的一个问题:想比较String类型的“groupDesc”是否相同,发现用== 然后建议用equals 但是有一个问题为什么String比较用equal而不用==呢 结果不也是正确的吗?我就是不用你推荐的equals呢?

解决:

先看下面这个运行结果为何第二个是false呢

解释:

说明:这里的 JSONObject.parseObject  就不是通过直接赋值给desc变量 所以他的desc变量就类似于图中的b的结果,通过new String 得到的 所以才会不相等。 类似的,也可能来自数据库的Str数据 和 自定义的str数据进行比较 也是这种情况 

结论:告诉自己实际项目中,String类型比较一定要用equals 而不要用==

猜你喜欢

转载自blog.csdn.net/l1509214729/article/details/102960341