とJavaで不変に変更可能な変数を変換します私のコード内でconcurrency
またはmultithreading
を使用しないでください。いつか私が代わりに私は不変VARSを作成することができますどのように多くの方法を知っている<code>immutable</code>変数の<code>mutable</code>変数を使用するために選択の余地はないが、私はこの方法でも、その本当に<code>immutable</code>に<code>mutable</code>を変換し、私を修正するだろう痛みが少なく
public class Config implements FindIt {
....
private final class DateHolder{
private final Date dateContainDateObject;
DateHolder(String date) throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
dateContainDateObject = dateFormat.parse(date);
}
public Date getDate(){
return dateContainDateObject;
}
}
}
これは、ネストされたクラスであり、私は
private DateHolder holder;
のようにそれを使用してConfig
コンストラクタクラスでholder
変数を埋めるようにholder
変数はThreadSafe
ですか?
か - 本当に、正直に、より良いオプションは、 - 'java.util.Date'を使用しないでください。 –
...すべてが不変でスレッドセーフな 'java.time'パッケージで、新しく改良されたAPIを使用してください。 –
@DimitarDimitrovはタンクしますが、私は最後のJDKをターゲットにしたくありません。サポートがより好きです。JDkバージョン – Hosseini