JPasswordField tfPassword = new JPasswordField(""); //输入密码的密码框stemp= tfPassword.getPassword().toString();
stemp= new String(tfPassword.getPassword());
为什么需要采用第二种方式才能正确获得密码框中的字符串
stemp= new String(tfPassword.getPassword());
为什么需要采用第二种方式才能正确获得密码框中的字符串
楼主【qiglave】截止到2008-06-24 21:50:26的历史汇总数据(不包括此帖):
发帖数:0 发帖分:0
结贴数:0 结贴分:0
未结数:0 未结分:0
结贴率:-------------------结分率:-------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
第一种形式会调用数组的toString()方法。
要通过new String(char[] c)才能得到你需要的
而stemp= new String(tfPassword.getPassword());
是用String类 String(char[] a)构造方法
我看了JDK 的帮助,
为什么两者都是将char数组转为字符串,得到的结果确不一样,
这就是我问的问题关键。望指点。 String str = "abc";
is equivalent to:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
而String是对data数组的封装