我有一个我正在为一个项目开发的小型 Java 程序,它使用 JavaMail 从指定的 URI 中提取用户的收件箱,然后开始处理邮件。
在 Outlook 中,属性菜单中有一个功能可以设置邮件的到期日期,其中添加(例如):
到期日:2010 年 1 月 14 日星期四 17:00:00 -0000
到消息头。
使用 javax.mail.Message 中的 getHeader(String header) 方法从电子邮件标题中检索它很简单,它返回一个 String[],其中恰好是冒号后面的部分,由空格标记。
我想要做的是把这个 String[] 变成一个字符串,然后再变成一个日期。所以设置一个简单的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,
吉米夫