У меня есть небольшая Java-программа, которую я разрабатываю для проекта, которая извлекает почтовый ящик пользователя из указанного URI с помощью JavaMail, а затем начинает обработку сообщений.
В Outlook в меню свойств есть функция для установки даты окончания срока действия сообщения, которая добавляет (например):
Дата истечения: четверг, 14 января 2010 г., 17:00:00 -0000
К заголовку сообщения.
Извлечь это из заголовка электронной почты просто, используя метод getHeader (заголовок String) из javax.mail.Message, и он возвращает 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)?
ТИА
JimiF