前提
Javaを勉強中の者です。
Date型から文字列へ変換する処理を調べています。
SimpleDateFormatはスレッドセーフではないため、インスタンス変数として宣言するのではなく、メソッド内にローカル変数として宣言しないといけないと記事で読みました。
疑問
SimpleDateFormatは内部でCalendarのインスタンス変数を保持しており、formatを実行するたびにそれが書き換えられる仕様とのことです。
この仕様は、たとえば以下のコードのように、異なる変数に対してSimpleDateFormatを使いまわしたりするのに影響があるでしょうか。
あくまでdate1の処理が終わってからdate2のformatが開始するため、SimpleDateFormatのインスタンスの状態が変わっても上書きされ問題がない認識です。
Java
1public void test(Date date1, Date date2) { 2 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 3 String dateStr1 = sdf.format(date1); 4 String dateStr2 = sdf.format(date2); 5}
回答2件
あなたの回答
tips
プレビュー