System.out.println(ganzeZeile[26]);
System.out.println(filter.get(11));
System.out.println(ganzeZeile[26].contains(filter.get(11)));
ganzeZeile
是一个字符串数组。 filter
是一个字符串数组列表。
ganzeZeile[26] = "Ich gebe der Dozentin/dem Dozenten die Gesamtnote."
filter.get(11) = "dem Dozenten die Gesamtnote"
但是 ganzeZeile[26].contains(filter.get(11))
返回 false
。
“dem Dozenten die Gesamtnote”不是 “Ich gebe der Dozentin/dem Dozenten die Gesamtnote.”
的一部分,因此 contains(.. .)
应该返回 true
?
编辑:
我在测试类中得到了我的代码和来自 assylias 的测试代码,两者都返回不同的值(!)。老实说,我没有看到代码有任何区别。
import java.util.ArrayList;
import java.util.List;
public class test1 {
public static void main(String[] args) {
String[] ganzeZeile = new String[28];
ArrayList<String> filter = new ArrayList<String>();
ganzeZeile[26] = "Ich gebe der Dozentin/dem Dozenten die Gesamtnote.";
for (int i = 0; i < 11; i++) {
filter.add("");
}
filter.add("dem Dozenten die Gesamtnote");
System.out.println(ganzeZeile[26]);
System.out.println(filter.get(11));
System.out.println(ganzeZeile[26].contains(filter.get(11)));//returns false
}
// public static void main(String[] args) {
// String[] ganzeZeile = new String[28];
// ArrayList<String> filter = new ArrayList<String>();
//
// ganzeZeile[26] = "Ich gebe der Dozentin/dem Dozenten die Gesamtnote.";
// for (int i = 0; i < 11; i++) {
// filter.add("");
// }
// filter.add("dem Dozenten die Gesamtnote");
//
// System.out.println(ganzeZeile[26]);
// System.out.println(filter.get(11));
// System.out.println(ganzeZeile[26].contains(filter.get(11))); //prints true
// }
}
由于我使用最新的 java 版本(1.7 atm),这可能是此代码行为如此不同的原因。
问候
最佳答案
我无法根据您提供的信息重现该行为 - 问题可能出在其他地方:
public static void main(String[] args) throws InterruptedException {
String[] ganzeZeile = new String[27];
List<String> filter = new ArrayList<String>();
ganzeZeile[26] = "Ich gebe der Dozentin/dem Dozenten die Gesamtnote.";
for (int i = 0; i < 11; i++) {
filter.add("");
}
filter.add("dem Dozenten die Gesamtnote");
System.out.println(ganzeZeile[26]);
System.out.println(filter.get(11));
System.out.println(ganzeZeile[26].contains(filter.get(11))); //prints true
}
关于java - 为什么在这种情况下 String.contains() 不返回 true ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9877230/