2012-07-03 174 views
1

我需要將字符串矢量轉換爲簡單字符串。我不知道如何繼續。 我嘗試了各種解決方案,如如何將矢量字符串轉換爲簡單字符串

for(int i=1; i < easy.length; i++){ 

easyPuzzle = easy[i].toString(); 

} 

System.out.println(" " + easyPuzzle); 

但是這種解決方案僅打印第i個元素,而不是整個串矢量。

回答

7

你不斷重新分配一個新值easyPuzzle當你真的想連接:

easyPuzzle += easy[i].toString(); 

如果easy.length大,它可能是有意義的使用StringBuilder在比字符串拼接更高效:

StringBuilder builder = new StringBuilder(); 
for(int i=1; i < easy.length; i++){ 
    builder.append(easy[i].toString()); 
} 
easyPuzzle = builder.toString(); 

另外,通過在i=1處開始for循環,您將排除第一項。不確定它是否有意或無意。如果不是,請從i = 0開始。

或者,爲了節省自己編寫循環的痛苦,您可以使用@Manoj's answer,它將您的代碼替換爲一行。

9

使用的toString Arrays

Arrays.toString(easy); 
+2

+1,請注意,如果超過1維數組,最好使用'Arrays.deepToString(a)' – mishadoff

+0

@mishadoff。 – Manoj

2

我建議你使用StringBuilderappend(<data>)方法,然後將其轉換爲String

StringBuilder data = new StringBuilder(); 
for(int i = 1; i < easy.length; i++){ 
    data.append(easy[i].toString()); 
} 
easyPuzzle = data.toString(); 

String是不可改變的工作,所以它是更消耗。當您使用String時,我建議您使用StringBuilder,更有效且更快。

更新: @Manoj答案非常有用。