Java プログラムメモ


トップ

SimpleDateFormat,DecimalFormat

この 2 つのクラスは、Text 処理クラスにもかかわらず、 thread unsafe なクラスになっています。 使用する場合は、忘れずに synchronized するか、都度インスタンスを生成しなければなりません。

ソース記述例

private static final SimpleDateFormat DF = new SimpleDateFormat("yyyyMMdd"); public static void main(String[] args) throws Exception { synchronized (DF) { DF.format(new Date()); } SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); df.format(new Date()); }

こんな感じで、wrapper クラスを作っても良いかもしれません。

wrapper クラス

import java.text.*; import java.util.*; public class SynchronizedSimpleDateFormat { private SimpleDateFormat df_; public SynchronizedSimpleDateFormat(String format) { df_ = new SimpleDateFormat(format); } public synchronized Date parse(String text) throws ParseException { return df_.parse(text); } public synchronized String format(Date date) { return df_.format(date); } }

SEO [PR] おまとめローン Windows7 冷え性対策 動画 掲示板 レンタルサーバー ライブチャット SEO