List6 = new ArrayList<String>();
List6.add(driver.findElement(By.xpath(".//*[@name='authorName']")).getAttribute("value"));
System.out.println("List6 : " +List6);
System.out.println("List1 : " +List1.get(u));
if (List1.get(u).equals(List6)){
System.out.println("author name checked!");
} else {
System.out.println("wrong author name!");
}
为什么总是用else语句返回我?我打印的清单6和1都给了我相同的回报
这是结果
List6 : [alan]
List1 : alan
wrong author name!
我的清单1阵列
[alan, ben, chris, dawn, eva, fann, grace, helen, ian, jag, ken, lyn, stephen]
for (int u = 0; u < List1.size(); u++) {
System.out.println(List1.get(u));
最佳答案
equals()
类上的String
方法是两个字符串内容的逐字符比较。
在进行比较之前,您正在打印字符串,任何人都可以很容易地看到它们的不同。之所以输入else
块的if else
部分,是因为if (List1.get(u).equals(List6))
总是评估为false。[alan]
和alan
不是等效的字符串,并且使用.equals()
比较时,它们将返回false
。