プロジェクト用に開発している小さな Java プログラムがあります。このプログラムは、JavaMail を使用して指定された URI からユーザーの受信トレイを取得し、メッセージの処理を開始します。
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) メソッドで何が問題になっているのですか?
ティア、
ジミF