2012-02-28 10 views
-3

문자열을 문자열 []에 구분하는 방법을 알고 있습니다. 우리 프로젝트에서는 t = time.split("-")을 사용하여 시간을 문자열 배열 t와 t[0]=DD, t[1]=MM으로 나눕니다. 이제 문자열 배열 t를 DD-MM 형식의 문자열 시간으로 변환해야합니다. 자바가 그 기능을 가지고 있었나요?문자열 []을 문자열로 변환하는 방법은 무엇입니까?

답변

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를 사용하지만 훨씬 더 간결합니다.

관련 문제