该链接具有字符串,整数和字符串。我的目的是使用while循环和短路运算符检查第一和第三字符串。

行path1 =新行(“ C1”,1,“ B1”,空);

   行path1 =新行(“ C1”,1,“ A1”,null);

 Lines curNode = head;

while (curNode.next != null && !curNode.L1.equals(line1) && !curNode.L2.equals(line2) )
{
    curNode = curNode.next;
}


但是,此while循环所做的是,满足第一个条件,但不满足第二个条件。例如,如果我正在寻找字符串“ C1”和“ B1”,我会得到“ C1”和“ A1”。我的看法是,一旦遇到第一个条件,第二个条件将被忽略。

这完全有可能吗,还是有其他不同的方法呢?

最佳答案

你有:

while (curNode.next != null && !curNode.L1.equals(line1) && !curNode.L2.equals(line2))


问题是,如果这些equals()为真,则您的循环将不会继续(由于取反),但是除非两个equals()都为真,否则您想继续循环,因此请执行以下操作:

while (curNode.next != null &&
       !(curNode.L1.equals(line1) && curNode.L2.equals(line2)))

关于java - 是否可以遍历链接列表以检查特定链接中的2个属性(2个字符串)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20340133/

10-09 20:10