为了账号安全,请及时绑定邮箱和手机立即绑定

java 相同字符串比较不成功

java 相同字符串比较不成功

凤凰求蛊 2019-02-20 19:04:20
1.如以下代码和描述,明明结果有相同的字符串,但是在if中写 == 无结果,写!= 却有结果,请问这是什么原因?HashMap实例hm中key值为大王,小王,中王,当我输入大王时,程序会输出大王,大王,小王,中王,但是却没执行if语句。public void mouseExited(MouseEvent e) { Object obj = e.getSource(); //if (obj) if (obj == jtf_name) { String str = jtf_name.getText(); System.out.println(str); for (String key:hm.keySet()) { System.out.println(key); if (str == key) { System.out.println(888); JOptionPane.showMessageDialog(contentPane, "姓名不能重复", "Error", JOptionPane.ERROR_MESSAGE); break; } } } }
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

试试equals方法
这里面涉及到==与equals的区别, ==表示比较两个对象的地址值 equals 表示 比较两个对象的结果值
可以尝试运行如下代码

    String a = new String("test");
    String b = new String("test");
    System.out.println(a.equals(b));
    System.out.println(a==b);

比较结果

查看完整回答
反对 回复 2019-03-01
  • 1 回答
  • 0 关注
  • 483 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信