2014-09-04 85 views
3

任何人都可以解釋這一點嗎?我有一個arrayList中的字符串。我正在使用!arraylist.contain,以確保我不會添加重複項。在下面的代碼我顯示ArrayList中的一切,然後檢查是否相同值不使用!arraylist.containArrayList .contain給出奇怪的輸出

public ArrayList<String> getIsiXhosaRecordings(ArrayList<String> must_download, ArrayList<String> all_filenames) 
{ 
    database = getReadableDatabase(); 

    for(int x = 0; x < all_filenames.size(); x++) 
    { 
     System.out.println("All files: >>>"+all_filenames.get(x)+"<<<"); 
    } 

    String[] table_names = {"Voice_exercise", "Lesson_exercise"}; 
    for(int x = 0; x < table_names.length; x++) 
    { 
     String SQL = "SELECT * FROM "+table_names[x]; 
     Cursor cursor = database.rawQuery(SQL, null); 

     while(cursor.moveToNext()) 
     { 
      String audio_isixhosa = cursor.getString(cursor.getColumnIndex("audio_isixhosa")); 
      if(!all_filenames.contains(audio_isixhosa)); 
      { 
       System.out.println("Audio file: >>>"+audio_isixhosa+"<<<"); 
      } 
     } 
    } 
    return must_download; 
} 

而且logcat的ArrayList中存在:

09-04 15:30:40.188: D/dalvikvm(14202): GC_CONCURRENT freed 65K, 9% free 9852K/10759K, paused 2ms+2ms, total 24ms 
09-04 15:30:40.188: W/SQLiteConnectionPool(14202): A SQLiteConnection object for database '/data/data/com.example.molo/databases/molo.db' was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed. 
09-04 15:30:40.298: I/System.out(14202): All files: >>>clock.jpg<<< 
09-04 15:30:40.298: I/System.out(14202): All files: >>>confident.jpg<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>correct.png<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>correct.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>crowd.jpg<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e001.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e003.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e004.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e005.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e007.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e008.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e009.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e010.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e011.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e012.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e013.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e014.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e015.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e016.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e017.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e018.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e019.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e020.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e021.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e022.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>e023.wav<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>goodbye.jpg<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>greeting.jpg<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>how.jpg<<< 
09-04 15:30:40.308: I/System.out(14202): All files: >>>howareyou.jpg<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>images<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>incorrect.png<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>incorrect.wav<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>kioskmode<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>lock.png<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>map.jpg<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>molo.db<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>morning.jpg<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>pe.jpg<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>question.jpg<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>question2.jpg<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>sounds<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>stranger.jpg<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>thembi.jpg<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>unlock.png<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>webkit<<< 
09-04 15:30:40.318: I/System.out(14202): All files: >>>what.jpg<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>who.jpg<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>why.jpg<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>world.jpg<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x001.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x002.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x003.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x004.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x005.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x006.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x007.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x008.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x009.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x010.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x011.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x012.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x013.wav<<< 
09-04 15:30:40.328: I/System.out(14202): All files: >>>x014.wav<<< 
09-04 15:30:40.338: I/System.out(14202): All files: >>>x015.wav<<< 
09-04 15:30:40.338: I/System.out(14202): All files: >>>x016.wav<<< 
09-04 15:30:40.338: I/System.out(14202): All files: >>>x017.wav<<< 
09-04 15:30:40.338: I/System.out(14202): All files: >>>x018.wav<<< 
09-04 15:30:40.338: I/System.out(14202): All files: >>>x019.wav<<< 
09-04 15:30:40.338: I/System.out(14202): All files: >>>x020.wav<<< 
09-04 15:30:40.338: I/System.out(14202): All files: >>>x021.wav<<< 
09-04 15:30:40.338: I/System.out(14202): All files: >>>x022.wav<<< 
09-04 15:30:40.338: I/System.out(14202): All files: >>>x023.wav<<< 
09-04 15:30:40.338: I/System.out(14202): Audio file: >>>x001.wav<<< 
09-04 15:30:40.338: I/System.out(14202): Audio file: >>>x004.wav<<< 
09-04 15:30:40.338: I/System.out(14202): Audio file: >>>x008.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x005.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x010.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x019.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x020.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x021.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x001.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x002.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x003.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x004.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x005.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x006.wav<<< 
09-04 15:30:40.348: I/System.out(14202): Audio file: >>>x007.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x008.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x009.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x010.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x012.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x013.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x014.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x015.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x016.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x017.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x018.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x022.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>x023.wav<<< 
09-04 15:30:40.358: I/System.out(14202): Audio file: >>>baboon.wav<<< 
09-04 15:35:40.068: W/IInputConnectionWrapper(14202): getSelectedText on inactive InputConnection 
09-04 15:35:40.068: W/IInputConnectionWrapper(14202): setComposingText on inactive InputConnection 
09-04 15:35:40.068: W/IInputConnectionWrapper(14202): getExtractedText on inactive InputConnection 

我添加了「>> >「和」< < <「,以確保我不會錯過空白空間,並且稍後將使用arrayList must_download。 爲什麼相同的值在all_filenames.contains以及!all_filenames.conatins?我試過讓每一個.toString()但得到相同的結果。我也使用類似的方法來完成相似的文件名。

由於

回答

13

if後的分號結束語句

if(!all_filenames.contains(audio_isixhosa)); 
{ // <-- new block separate from if. 

和因此人體是一個空塊。刪除分號。

if(!all_filenames.contains(audio_isixhosa)) { 
+2

這一個很難發現! – luanjot 2014-09-04 13:47:14

+0

@Elliott - 好一個! – BatScream 2014-09-04 13:50:23

+2

謝謝,這可能只是我做過的最愚蠢的事情... – 2014-09-04 13:51:01