2013-04-28 37 views
2

在這種情況下,我很困惑數據在這裏被操縱的方式,因此思想會尋求某些人的建議。Java中的Array.toString數據處理

arrayDataOne = [ HEllO, NAME, ADDRESS, ZIPCODE ] 

i.e 
[0] = "HELLO" 
[1] = "NAME" 
[2] = "ADDRESS" 
[3] = "ZIPCODE" 

String arrayInString = (Arrays.toString(arrayDataOne)); 

i.e 
[ HEllO, NAME, ADDRESS, ZIPCODE ] 

String[] arraySplit = arrayInString.split("\\|"); 

i.e 
[0] = [[HEllO, NAME, ADDRESS, ZIPCODE ] ] 

問題,
爲什麼字符串值顯示爲陣雖然在邏輯上它不是存儲在arrayInString陣列?

爲什麼arraySplit會在[[**** data ****]]中保存數據?看起來像數組的數組?

編輯:(增加了更多的查看回答詳情)

要處理字符串沒有 「[」 「]」:讀link

回答

4
  1. 因爲那是的ToString做什麼。閱讀該文檔http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html

    返回指定 陣列的內容的字符串表示。字符串表示由數組的 元素的列表組成,方括號(「[]」)。相鄰元素是 ,由字符「,」(逗號後跟空格)分隔。 通過String.valueOf(double)將元素轉換爲字符串。 如果a爲null,則返回「null」。

  2. 因爲當你嘗試分割它時什麼都不匹配。因此,結果是單桶字符串本身

+0

所以,如果我感興趣的是你好,姓名,地址,郵政編碼,而不[]的只是簡單的字符串,我應該做的正則表達式就可以更換?或者這是一個不好的做法? – 2013-04-29 00:24:59

+1

如果你想要它作爲數組,那麼不要使用.toString。你究竟想要做什麼? – marcadian 2013-04-29 03:14:50

+0

謝謝,我找到了答案,使用StringBuilder創建字符串。 – 2013-04-29 03:16:45