大家来帮忙,关于equals的问题
时间:2008-06-04 20:24:30
来源:论坛整理 作者: 编辑:chinaitzhe
我就想做一个修改密码的界面,判定两个密码框输入的字符是否一致,明明输入的是一致的,可就是判定不出来,估计是equals的问题,我初学Java,想了半天搞不出来,希望哪位兄弟帮帮忙,改下代码,先谢谢了!
……
final JLabel label = new JLabel();
label.setText("请输入你的新密码:");
label.setBounds(57, 10, 124, 26);
getContentPane().add(label);
final JLabel label_1 = new JLabel();
label_1.setText("确认你的密码:");
label_1.setBounds(57, 52, 124, 26);
getContentPane().add(label_1);
final JButton button = new JButton();
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
if (pf1.getPassword().length==0 ¦ ¦ pf2.getPassword().length==0) {
JOptionPane.showMessageDialog(null,"请填写完整");
}
else if(pf1.getPassword().equals(pf2.getPassword())){
Class.forName("org.gjt.mm.mysql.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/rbac","root","1");
Statement cmd=con.createStatement();
String sqlStr = "update superuser set User_password='" pf1.getPassword() "' where User_name in(select User_name from saveshow)";
cmd.executeUpdate(sqlStr);
}
else{
JOptionPane.showMessageDialog(null,"密码输入错误!");
} }catch(Exception ex){}
}
});
button.setText("确 定");
button.setBounds(138, 115, 79, 32);
getContentPane().add(button);
……
网友回复:你知道pf1.getPassword()返回的是什么吗,看看api
数组相等你用equals??
这样试下吧
- Java code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ char a[] b[] String s = new String(a); String f = new String(b); if(s.equals(f)) System.out.println("相等");
网友回复:你用Arrays.equals(pf1.getPassword(),pf2.getPassword())
网友回复:getPassword
public char[] getPassword()返回此 TextComponent 中所包含的文本。假如基础文档为 null,则将给出 NullPointerException。为了取得较高的安全性,建议将每个字符设置为零以便在使用后清除返回的字符数组。
返回:
文本
网友回复:dui对
网友回复:else if(pf1.getPassword().equals(pf2.getPassword())){
前面加上
System.out.println(pf1.getPassword() "/" pf2.getPassword());
打印出来看看是否相等。
网友回复:
网友回复:都在后面加个trim()把字符串后面的空字符去掉看下。。
网友回复:好
网友回复:感谢2楼的,问题解决了^_^
关键字:帮忙,equals,问题,
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面