2012-03-10 85 views
-1

應用程序將TextEdit值讀取爲String,然後轉換爲ArrayList。但在轉換之前,它會刪除TextEdit中單詞之間的空格。所以轉換後我得到ArrayList大小隻有1.字符串到ArrayList

所以我的問題是如何得到真正的大小。我正在使用ArrayList,因爲它的swap()函數。

outputStream.setText(""); 
     stream = inputStream.getText().toString().replace(" ", ""); 
     key = Integer.parseInt(inputKey.getText().toString()); 

     List<String> arrayList = Arrays.asList(stream); 
     int lenght = arrayList.size(); 
     if (key < lenght) 
     { 
      outputStream.append(lenght+"\n"); 
      outputStream.append("OK"); 
     } 
     else { 
      outputStream.append(lenght+"\n"); 
      outputStream.append("Error"); 
     } 

    } 
+3

爲了更好地幫助越早,張貼[SSCCE]( http://sscce.org/)。事實上,這個問題對我來說毫無意義。 – 2012-03-10 15:50:38

+0

你可以發佈你將字符串轉換爲ArrayList的代碼嗎?這可能是問題所在。 – elevine 2012-03-10 15:52:13

回答

0
stream = inputStream.getText().toString(); 
    key = Integer.parseInt(inputKey.getText().toString()); 

    List<String> arrayList = new ArrayList<String>(); 
    for (String x : stream.split(" ")) arrayList.add(x); 
    int lenght = arrayList.size(); 
    if (key < lenght) 
    { 
     outputStream.append(lenght+"\n"); 
     outputStream.append("OK"); 
    } 
    else { 
     outputStream.append(lenght+"\n"); 
     outputStream.append("Error"); 
    } 

這是我的猜想,在你真正想做的事......

+0

感謝這是有用的。但在此之後,我選擇了比ArrayList更容易的char數組。 – Shien 2012-03-21 19:41:27

0

的大小和長度是不同的東西。

您試圖在需要長度時獲取尺寸。

使用arrayList[0].length()而不是你的arrayList.size()。

0

如果你想你的字符串解析到一個數組的嘗試:

List<String> arrayList = Arrays.asList(stream.split(",")); 

(本例中期望您的文字是用英文逗號分隔)

0

Arrays.asList()期待一個數組放慢參數不只是一個字符串。一個字符串,如大小1多數民衆贊成在一個String數組,爲什麼你的列表的大小爲1的總如果你想存儲你的字符串中使用的話:

Arrays.asList(stream.split(" ")); //Don't use replace method anymore