比较两组字符串
Comparing two set of strings
这是我的问题。我正在尝试使用 &&
和 .equals
来比较两个不同的字符串,但似乎无法给我应有的结果。
这是我的代码(从我认为是问题的地方开始):
for(int i = 0; i < datalist.size(); i+=3) {
String temp1 = datalist.get(i);
String temp2 = datalist.get(i+1);
System.out.println(temp1);
System.out.println(temp2);
if (temp1.equals(dataquery1)) {
System.out.println("TRUE");
if (temp2.equals(dataquery2)) {
System.out.println("TRUE");
array2.add((datalist.get(i)));
array2.add((datalist.get(i+1)));
array2.add((datalist.get(i+2)));
}
}
}
System.out.println("\n\nArray2 size : " + array2.size());
for (int j = 0; j < array2.size(); j++) {
System.out.println("Array2 : " + array2.get(j));
}
这是数组:
[0] Lipase B
[1] X-33
[2] pPICZ?A
[3] Candida antarctica lipase B (CALB)
[4] SMD1168H
[5] pGAP?B
[6] Lip 2
[7] X-33
[8] pPICZ?A
结果是:
Lipase B
X-33
Candida antarctica lipase B (CALB)
SMD1168H
Lip 2
X-33
Array2 size : 0
结果应该是:
TRUE
TRUE
Array2 size : 3
Array2 : Lipase B
Array2 : X-33
Array2 : pPICZ?A
我尝试使用 if (temp1.equals(dataquery1) && temp2.equals(dataquery2))
但它不起作用。
但是,如果我分别将 dataquery1
和 dataquery2
的值更改为 Lipase B
和 X-33
,则代码可以正常工作。
有人能帮忙吗?
从表面上看,您将 dataquery1 设置为 "Lipase",而您应该将其设置为 "Lipase B"。如果你解决了这个问题,我会得到正确的输出:
Lipase B
X-33
TRUE
TRUE
Candida antarctica lipase B (CALB)
SMD1168H
Lip 2
X-33
Array2 size : 3
Array2 : Lipase B
Array2 : X-33
Array2 : pPICZ?A
这是我的问题。我正在尝试使用 &&
和 .equals
来比较两个不同的字符串,但似乎无法给我应有的结果。
这是我的代码(从我认为是问题的地方开始):
for(int i = 0; i < datalist.size(); i+=3) {
String temp1 = datalist.get(i);
String temp2 = datalist.get(i+1);
System.out.println(temp1);
System.out.println(temp2);
if (temp1.equals(dataquery1)) {
System.out.println("TRUE");
if (temp2.equals(dataquery2)) {
System.out.println("TRUE");
array2.add((datalist.get(i)));
array2.add((datalist.get(i+1)));
array2.add((datalist.get(i+2)));
}
}
}
System.out.println("\n\nArray2 size : " + array2.size());
for (int j = 0; j < array2.size(); j++) {
System.out.println("Array2 : " + array2.get(j));
}
这是数组:
[0] Lipase B
[1] X-33
[2] pPICZ?A
[3] Candida antarctica lipase B (CALB)
[4] SMD1168H
[5] pGAP?B
[6] Lip 2
[7] X-33
[8] pPICZ?A
结果是:
Lipase B
X-33
Candida antarctica lipase B (CALB)
SMD1168H
Lip 2
X-33
Array2 size : 0
结果应该是:
TRUE
TRUE
Array2 size : 3
Array2 : Lipase B
Array2 : X-33
Array2 : pPICZ?A
我尝试使用 if (temp1.equals(dataquery1) && temp2.equals(dataquery2))
但它不起作用。
但是,如果我分别将 dataquery1
和 dataquery2
的值更改为 Lipase B
和 X-33
,则代码可以正常工作。
有人能帮忙吗?
从表面上看,您将 dataquery1 设置为 "Lipase",而您应该将其设置为 "Lipase B"。如果你解决了这个问题,我会得到正确的输出:
Lipase B
X-33
TRUE
TRUE
Candida antarctica lipase B (CALB)
SMD1168H
Lip 2
X-33
Array2 size : 3
Array2 : Lipase B
Array2 : X-33
Array2 : pPICZ?A