System.out.println(ganzeZeile[26]);
System.out.println(filter.get(11));
System.out.println(ganzeZeile[26].contains(filter.get(11)));
ganzeZeile
是一个字符串数组。 filter
是一个字符串ArrayList。为什么String.contains()在这种情况下返回true?
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
?
编辑:(!)
我有我的代码,并从在TestClass中assylias的testcode,都返回不同的值。我没有看到代码tbh中的任何差异。
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
// }
}
因为我使用最新的javaversion(1.7 atm),它可能是此代码行为如此不同的原因。
问候
你的意思是ganzeZeile是一个String []和过滤器是一种ArrayList?这可能有助于向我们展示这些变量的声明。 –
2012-03-26 18:03:12
无法重现,对我来说工作正常。 – talnicolas 2012-03-26 18:05:34
您是否使用调试器或日志记录验证26和11是否真正包含您的预期? – AHungerArtist 2012-03-26 18:07:14