String 比较不相等的问题?求解
在项目中(SpringMVC+Mybatis)
在oracle数据库中,有一个表audit,其中的auditresu字段(审核结果),值为:已纳入《新技术目录》(varchar)
当我从数据库中取出audit对象,
并用其做判断时if(audit.getAuditResu()==“已纳入《新技术目录》)” -----------①
结果是false ,
但是audit.getAuditResu()输出确实为“已纳入《新技术目录》”
对此,我作出修改,
将“已纳入《新技术目录》”设为常量YNRXJSML,放在STATUS类里
再次判断if(audit.getAuditResu().equals(STATUS.YNRXJSML)) ------②
结果为true
为什么呢?
在①中,==的左右两边难道一个在StringPool里,一个不在?
我是菜鸟,java有办法输出引用地址吗,好歹让我知道是什么问题。
[解决办法]
String str1 = "胡汉三很懒";
String str2 = "胡汉三很懒";
System.out.println(str1==str2);
System.out.println(str1.equals(str2));
String str1 = "胡汉三很懒";
String str2 = new String("胡汉三很懒");
System.out.println(str1==str2);
System.out.println(str1.equals(str2));