我有一个小型的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