2012-02-28 121 views
-3

我知道如何將字符串分隔到字符串[]。在我的項目中,我使用t = time.split("-")將時間拆分爲字符串數組t和t[0]=DD, t[1]=MM。現在我需要將字符串數組t轉換爲格式爲DD-MM的字符串時間。 Java有功能嗎?如何將字符串[]轉換爲字符串?

回答

8

Guava做:

String joined = Joiner.on('-').join(parts); 

在另一方面,其實我建議分裂和加入你的字符串開始。相反,將其解析爲適當的日期/時間類型(理想情況下爲Joda Time),執行所需的任何操作,然後使用不同的格式重新格式化它。

這會改善您的錯誤檢測,並且基本上可以讓您的代碼真正反映出您正在處理的數據的性質 - 而不僅僅是討論分割和連接文本。

3

您可以使用String Utils from Apache Commons這樣的:

String res = StringUtils.join(myStrings, "-"); 

如果你不希望使用外部框架,你可以滾你自己,就像這樣:

StringBuilder res = new StringBuilder(); 
boolean isFirst = true; 
for (String s : myStrings) { 
    if (!isFirst) { 
     res.append('-'); 
    } else { 
     isFirst = false; 
    } 
    res.append(s); 
} 
1
public static String join(String[] arr, String separator) 
{ 
    StringBuilder b = new StringBuilder(); 
    for(int i = 0; i < arr.length; i++) 
    { 
     if(i != 0) b.append(separator); 
     b.append(arr[i]); 
    } 
    return b.toString(); 
} 
0

對於這個簡單的例如,這有什麼問題?

String time = t[0]+"-"+t[1]; 

是的,當性能很重要時使用StringBuilder,但這更簡潔。

相關問題