2012-02-28 4 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, если производительность имеет значение, но это гораздо более сжато.

Смежные вопросы