2012-02-28 25 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を使用することができます。この単純なために

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 res = StringUtils.join(myStrings, "-"); 

例、これは何が問題なのですか?

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

パフォーマンスに問題がある場合はStringBuilderを使用しますが、これははるかに簡潔です。

関連する問題