要清楚地說明這不是這些問題的重複Convert ArrayList to String和Convert ArrayList containing strings,但它與它們有關。 假設我們有從ArrayList
到String []
轉換一種方法,在第一環節的答案描述我已經提到:爲什麼在將ArrayList轉換爲String []時list.toArray()是一個對象?
List<String> stockList = new ArrayList<String>();
stockList.add("stock1");
stockList.add("stock2");
String[] stockArr = new String[stockList.size()];
stockArr = stockList.toArray(stockArr);
for(String s : stockArr)
System.out.println(s);
隨着打印語句我的輸出應該是這樣的:
stock1
stock2
但是如果我希望我的輸出採用數組格式(如[stock1,stock2]
),並且我排除了轉換爲String
(即for循環結束)的情況。
如果我只打印出String[]
它會給我一個垃圾值,如[Ljava.lang.String;@5636bc0a
。我猜這可能是因爲jvm的問題返回toArray
作爲對象。
爲什麼這樣,這是什麼工作?
我需要一個String []
,這給了我一個有意義的價值。我需要它在這個格式,因爲我使用這種轉換來調用我的項目JAX-WS功能,只接受String[]
值:
myJaxWSObj.setValue(String[] myArrayOfStrings);
編輯
感謝您的答案,但有些你一定誤解了這個問題。我想將ArrayList轉換爲String []而不是String。所以做任何形式的.toString()
都不會有多大幫助,因爲正如我上面提到的,我需要調用僅接受String[]
值的JAX-WS類。所以問題不在於System.out.println()
。
假設我做了一個.toString()
轉換我需要通過做一些像stockArr.split("")
這樣的轉換回String[]
。我想知道是否還有其他解決方法。
EDIT 2
這有什麼好做印刷陣列,它與列表轉換爲字符串數組做。
所以,你想要的是一個方法來打印出有意義的信息,如果該值是一個'的String []'?就像,如果你在做'System.out.println(stockArr)',你想讓數組的內容顯示出來? – Makoto
是的,而不是像'[Ljava.lang.String; @ 5636bc0a'等值。 – agenthost
當你使用'System.out.println'時,這隻適用於*嗎? – Makoto