获取JPassword中的内容

来源:互联网 发布:淘宝欧斯曼真皮双肩包 编辑:程序博客网 时间:2024/06/14 04:46
String pwd = password.getPassword().toString().trim;if(pwd.equals("123456")){//......}

JPasswordField中的getPassword返回的是char[] 数组类型。equals方法来自最原始的

Object类,相当于==(比较两者的地址是否一致,即指向的内存是否相同)。


所以用equals比较char[]与String永远不会相等。要比较两个数组的内容是否相等,要先

将两个数组转换成为String才行。(因为String类型的equals方法被String类override过)


将数组转换成字符串的方法有:

1.password.getPassword().toString() ,不能提取内容,因为调用的是Object的toString方法,

它的值遵循:" getClass().getName() + '@' +Integer.toHexString(hashCode()) ".


2.String.valueOf( password.getPassword())  

   if(String.valueOf(nameTextField.getPassword()).equals("")) {
        System.out.println("可以");
   }
注意: 不能用 == "" 来代替 .equals(""), 前者表示比较两者地址是否相等,后者表示比较两者内容是否相等.




原创粉丝点击