大家来帮忙,关于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());

打印出来看看是否相等。


网友回复:
引用 3 楼 xiguagege 的回复:
getPassword
public char[] getPassword()返回此 TextComponent 中所包含的文本。假如基础文档为 null,则将给出 NullPointerException。为了取得较高的安全性,建议将每个字符设置为零以便在使用后清除返回的字符数组。

返回:
文本

网友回复:都在后面加个trim()把字符串后面的空字符去掉看下。。
网友回复:好
网友回复:感谢2楼的,问题解决了^_^
关键字:帮忙,equals,问题,

文章评论

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