JavaMail을 사용하여 지정된 URI에서 사용자의받은 편지함을 가져 오는 프로젝트 용으로 개발중인 작은 Java 프로그램이 있습니다. 메시지.date = part + date.concat (part)
만기 날짜 : 2010년 1월 14일 (목) 17시 0분 0초 -0000
Outlook의, (예를 들어) 추가하는 메시지에 대한 유효 기간을 설정하는 속성 메뉴에서 함수가있다
메시지 헤더에.
이메일 머리글에서 가져 오는 것은 javax.mail.Message의 getHeader (String header) 메소드를 사용하면 간단하며 콜론 뒤에 공백으로 토큰 화되는 String []을 반환합니다.
내가 원하는 것은 나중에 [Date]를 만들기 위해이 String []을 단일 문자열로 만드는 것입니다. 다음과 같이 그래서 간단한 foreach 루프를 설정 :
String date = "";
for(String part : header){
date.concat(part);
}
System.out.println(date);
지금 어떤 이유로,이 코드는 빈 문자열 완전히 확실하지를 반환 왜이 유효 자바해야한다.
그러나, 다음 코드는 작업을 수행하고, 올바른 날짜를 출력 어느 날
String date = "";
for(String part : header){
date = date + part;
}
System.out.println(date);
에 안맞아 보인다 나는 이유를 알고하지 않습니다. 누군가가 이것이 올바른 방법인지 알려주고, 그렇지 않다면, concat (String append) 메서드에 어떤 문제가 있습니까?
TIA,
JimiF
+1 야호 : 당신은 너무 자주 이렇게하면 루프에서 새로운
String
을 구성하는 것이 저렴하지 않기 때문에 당신은 메모리를 저장하려면이에 대한StringBuilder
을 사용하고 싶습니다! 'PrintWriter' 메쏘드를 호출하면'toString'을 호출 할 필요가 없습니다; 그것은 당신을 위해 그것을 처리합니다. :-) –Doh .... 이제 바보 같이 느껴져 .... 지금 내가 뭘 잘못하고 있는지 알 수있어. 도와 주셔서 감사합니다! – JimiF