我有一個小型的Java程序,我正在開發一個項目,它使用JavaMail將用戶的收件箱從指定的URI中提取出來,然後開始處理消息。date = date + part vs. date.concat(part)
在Outlook,有一個在屬性菜單以設置消息,它增加了(例如)的到期日的函數:
到期日:星期四,2010年1月14日17時00分00秒-0000
到郵件頭。
使用javax.mail.Message中的getHeader(String header)方法從電子郵件頭中檢索它很簡單,它返回一個String [],其中恰好是冒號後面的部分,由空格標記。
我想要做的就是把這個String []放到一個String中,以便以後做成Date。因此,建立一個簡單的foreach循環如下:
String date = "";
for(String part : header){
date.concat(part);
}
System.out.println(date);
現在,出於某種原因,該代碼返回一個空字符串,不完全知道爲什麼,因爲這應該是有效的Java。
但是,下面的代碼做的工作,我不知道爲什麼,因爲它似乎不合邏輯我
String date = "";
for(String part : header){
date = date + part;
}
System.out.println(date);
打印出正確的日期。有人能告訴我這是否是正確的做法,如果不是,concat(String append)方法有什麼問題?
TIA,
JimiF
+1耶爲'StringBuilder'!如果調用'PrintWriter'方法,則不需要調用'toString';它爲你處理。 :-) – 2010-01-15 01:06:42
Doh ....現在我覺得自己像一個白癡....我現在可以看到我做錯了什麼。謝謝您的幫助! – JimiF 2010-01-15 01:08:39