字符串 .equals 方法不起作用(字符串对象)
String .equals method not working (String object)
我正在尝试将一行字符串文本拆分为一个数组,并对不等于 "a"、"to" 或 [= 等词的字符串元素执行 SQLite3 查询33=].
这是我使用的将字符串拆分为数组的方法:
public static String[] extract(String string) {
String[] splitArray = null;
try {
splitArray = string.split("\s+");
} catch (PatternSyntaxException ex) {
ex.printStackTrace();
}
return splitArray;
}
接下来,我尝试使用 for 循环 运行 查询数组中不包含上述单词的部分:
String garlic = "1 small garlic clove, finely grated on a microplane";
String[] queryArray = extract(garlic);
for (int i = 0; i < queryArray.length; i++ ) {
if (!queryArray[i].equals("a") || !queryArray[i].equals("to") {
performQuery(queryArray[i]);
}
我试过在数组元素上调用.trim();
,但是这些String
尽管看起来等同于代码,但仍然被查询。
开头的 String
已从网站复制粘贴 - 与仅输入 String
相比,这有什么效果吗?我的程序需要从网站复制和粘贴,因此请就如何使用它提供建议。如果尝试将网页中的一行复制到新的 String
对象中,然后重新输入同一行,我会得到相同的结果。
请帮忙!
干杯。
每个字符串都将不等于 ["a", "to"]
中的至少一个。您想要的是两个条件之间的 &&
运算符。
if (!queryArray[i].equals("a") && !queryArray[i].equals("to")) {
performQuery(queryArray[i]);
}
您的条件 if (!queryArray[i].equals("a") || !queryArray[i].equals("to")
意味着 String
必须与 a
不同或与 to
不同,因此它始终为真(to
不同于 a
),您需要使用 &&
但是你说还有on
,为了避免长条件,你可以这样做:
String garlic = "1 small garlic clove, finely grated on a microplane";
String[] queryArray = extract(garlic);
List<String> toAvoid = Arrays.asList("a", "to", "on");
for (int i = 0; i < queryArray.length; i++ ) {
if (!toAvoid.contains(queryArray[i])) {
performQuery(queryArray[i]);
}
}
我正在尝试将一行字符串文本拆分为一个数组,并对不等于 "a"、"to" 或 [= 等词的字符串元素执行 SQLite3 查询33=].
这是我使用的将字符串拆分为数组的方法:
public static String[] extract(String string) {
String[] splitArray = null;
try {
splitArray = string.split("\s+");
} catch (PatternSyntaxException ex) {
ex.printStackTrace();
}
return splitArray;
}
接下来,我尝试使用 for 循环 运行 查询数组中不包含上述单词的部分:
String garlic = "1 small garlic clove, finely grated on a microplane";
String[] queryArray = extract(garlic);
for (int i = 0; i < queryArray.length; i++ ) {
if (!queryArray[i].equals("a") || !queryArray[i].equals("to") {
performQuery(queryArray[i]);
}
我试过在数组元素上调用.trim();
,但是这些String
尽管看起来等同于代码,但仍然被查询。
开头的 String
已从网站复制粘贴 - 与仅输入 String
相比,这有什么效果吗?我的程序需要从网站复制和粘贴,因此请就如何使用它提供建议。如果尝试将网页中的一行复制到新的 String
对象中,然后重新输入同一行,我会得到相同的结果。
请帮忙!
干杯。
每个字符串都将不等于 ["a", "to"]
中的至少一个。您想要的是两个条件之间的 &&
运算符。
if (!queryArray[i].equals("a") && !queryArray[i].equals("to")) {
performQuery(queryArray[i]);
}
您的条件 if (!queryArray[i].equals("a") || !queryArray[i].equals("to")
意味着 String
必须与 a
不同或与 to
不同,因此它始终为真(to
不同于 a
),您需要使用 &&
但是你说还有on
,为了避免长条件,你可以这样做:
String garlic = "1 small garlic clove, finely grated on a microplane";
String[] queryArray = extract(garlic);
List<String> toAvoid = Arrays.asList("a", "to", "on");
for (int i = 0; i < queryArray.length; i++ ) {
if (!toAvoid.contains(queryArray[i])) {
performQuery(queryArray[i]);
}
}