真的不明白这里发生了什么。我需要将一个对象的属性(字符串类型)与另一个字符串进行比较,但我无法在 foreach 循环内访问该对象的属性,也不知道为什么。
在下面的代码中,在某些时候第一个打印语句正确打印以下行
TEST: Panino 1 - Panino 1 - 13
其中p.name和finalWord都是“Panino 1”。 在此之后,我希望 if 语句为 true,但由于某种原因它看起来总是 false 并且内部 print 语句永远不会被执行!
for (Product p : productArray){
System.out.println("TEST: " + p.name + " - " + finalWord + " - " + arr[4]); //this prints correctly.
if(p.name.equalsIgnoreCase(finalWord)){
System.out.println("INSIDE " + pr.name + " - " + finalWord + " - " + arr[4]);
break;
}
}
if 可能会被执行,但 pr.name 可能是一个拼写错误,从而引发异常。 应该是:
for (Product p : productArray)
{
System.out.println("TEST: " + p.name + " - " + finalWord + " - " + arr[4]); //this prints correctly.
if(p.name.equalsIgnoreCase(finalWord))
{
System.out.println("INSIDE " + p.name + " - " + finalWord + " - " + arr[4]);
break;
}
}