链接有一个字符串、整数和字符串。我的目标是使用 while 循环和短路运算符检查第一个和第三个字符串。
线路路径1 = new Lines("C1",1,"B1",null);
线路路径1 = new Lines("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()
为 true,那么您的循环将不会继续(由于否定),但您希望继续,除非两个 equals ()
为 true,因此请执行以下操作:
while (curNode.next != null &&
!(curNode.L1.equals(line1) && curNode.L2.equals(line2)))
关于java - 是否可以循环遍历链接列表来检查特定链接内的 2 个属性(2 个字符串)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20340133/