首页 > 代码库 > java中字符串判断相等能用不等号吗
java中字符串判断相等能用不等号吗
在项目中有如下语句:Global.NOT_RESTRICT !=companyGroupInfo.getSex() 也就是“NR” != "NR" 返回true(明明应该返回FALSE呀)
字符串在内存中是在字符串池中,如果字符串池已经存在字符串就直接引用地址即可。为什么此时就不行了。经过代码的一番验证发现,如果不涉及数据库,只是java代码对于字符串常量进行操作。Global.NOT_RESTRICT !=companyGroupInfo.getSex() 这一直返回FALSE。如果对象是从数据库里面查询出来就会是true,也就是如果涉及数据库两个常亮不再引用同一地址。
结论:在项目中对于字符串的操作必须用equals,以避免不必要的bug
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。