2011-09-22 126 views

回答

5

ArrayList?如果元素是字符串或整數 - 只需使用一些獨特的分隔符將它們連接起來,然後再分割回另一側的數組。

如果你想發送任意Serializable對象的ArrayList,你將不得不序列化它,使用Java serialization。但是,這將產生byte[]數組而不是一個字符串。如果你受限於文本協議,那麼你將不得不使用Base64編碼或類似。

0

這取決於它是否能夠提供您的數組列表中的對象的確切字符串表示。

下一個問題是:爲什麼它需要是ArrayList的一個字符串represenation?

這就是說,如果真的需要一個字符串表示,JSON可以幫助你,也就是說,您的數組列表轉換成JSON represenation和背部。還有JSON框架的許多有像GSON,JSON-簡單等

0
private string ArrayListToString(System.Collections.ArrayList list) 
     { 
      string CStr = ""; 

      foreach (string str in list) 
      { 
       CStr += str; 
       CStr += "<b>"; 
      } 

      return CStr; 
     } 

     private System.Collections.ArrayList ArrayListToString(string CStr) 
     { 
      System.Collections.ArrayList list = new System.Collections.ArrayList(); 
      string[] seperator = { "<b>" }; 
      string[] words = CStr.Split(seperator, StringSplitOptions.RemoveEmptyEntries); 

      foreach (string str in words) 
      { 
       list.Add(str); 
      } 

      return list; 
     } 
+0

兩個人已經錯過了** java **標記。 –

0

我寧可不使用指定的二進制序列化編程語言。未來會遇到一些版本控制問題。

您可以使用JSON格式,請使用JSONArray.toString和JSONArray.fromObject(串)串行/ deserial

如果您需要在速度和空間性能,

我建議谷歌協議緩衝器,它是一種以高效但可擴展格式編碼結構化數據的方式。谷歌幾乎所有的內部RPC協議和文件格式都使用Protocol Buffers。

協議緩衝器具有比XML序列化結構化數據的許多優點。協議緩衝區:

* are simpler 
* are 3 to 10 times smaller 
* are 20 to 100 times faster 
* are less ambiguous 
* generate data access classes that are easier to use programmatically