2012-03-26 17 views
0
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を返します。

の部分は"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気圧)を使用しているため、このコードが異なる動作をする可能性があります。

よろしく

+2

あなたはganzeZeile []は文字列であり、フィルタであることを意味しますかArrayList ?これらの変数の宣言を示すのに役立つかもしれません。 –

+1

再現できず、うまく動作しません。 – talnicolas

+0

26と11に本当に期待したものが含まれていることをデバッガまたはログで確認しましたか? – AHungerArtist

答えて

3

私はあなたが与えた情報に基づいて動作を再現することはできません - 問題は、どこか別の、おそらくです:

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 
} 
+0

笑興味深い!クリーンな環境でコードをテストしていたはずです(私のコードが単純な文字列比較の原因になるとは思っていませんでした)。 – Wandang

+0

私はあなたのコードをテストし、それが述べたように真実を印刷しました。私は何の変更もせずにコードを書き直し、私は偽になる。私の日食には何かが間違っています... – Wandang

関連する問題