【发布时间】:2016-02-11 03:01:42
【问题描述】:
我知道以前有人问过这个问题,但他们没有使用.equals()。所以我要再问一次,为什么我有两个字符串,但是当我将它们与.equals() 进行比较时,我得到了错误。这两个字符串是 1234(passwordField2.getPassword() 和 String s = bufferedreader.readLine()。)我已经使用 s.toCharArray 来比较它们,同样的事情。我试着把它们都打印出来,我得到了
1234
1234
有人知道为什么会这样吗? 谢谢!
【问题讨论】:
-
空白?它们的长度相等吗?
-
第二个好像有多余的空间。修剪后尝试比较它们...
passwordField2.getPassword().trim().equals(bufferedReader.readLine().trim()); -
@Todd 我试图这样做,但
.trim()不适用于JPasswordField -
Not
String.equal()不是相等的字符串。找出原因:调试器,也许。此外,某些对象在“预期方式”中不支持equals(),including Arrays(相当于使用arr1 == arr2)。 -
哦,呃,是的。返回一个
char[]。也许这就是他们不匹配的原因?
标签: java string jpasswordfield