他のすべてのミューテーターはJDK1.1で非推奨になりましたが、なぜそのsetTime()
ままにされたのですか?確かjava.util.Calendar
に-日付を操作する正しい方法-java.util.Date
必要に応じて、java.util.Date(long)
コンストラクターを使用しての新しいインスタンスを作成できますか?
3 に答える
非推奨になったビットDate
は、カレンダーに関連するビット(つまり、日、月、年など)でした。ミューテーターだけでなく、カレンダーフィールドのアクセサーメソッドも非推奨になっていることに注意してください。
ただし、ミリ秒値としての表現は引き続きDate
機能し、カレンダー表現とは無関係であるため、非推奨のままでした。
他のミューテーターはjava.util.Date
、1970年1月1日午前12時(UTC)から数ミリ秒をラップして、瞬間としてではなくカレンダーとして使用しようとしていました。そのため、その1つのミューテーターが非推奨にならないことは理にかなっています。
もちろん、Date
/ Calendar
APIはまだひどいので、可能な限りJoda Timeを使用する必要がありますが、その呼び出しが非推奨にならなかった理由はわかります。事後に型を不変にすることはできません。それは非推奨のポイントではありませんでした。ポイントは、「1976年6月19日」などのストレージとして人々がそれを使用しないようにすることでした。
このsetTime
方法は少なくとも論理的に正しいためです。日、月などを使用するsetX
方法は意味がありません。javaは瞬間的なものであるため、日、時間、月などは特定ののビューにのみ関連します。Date
Date
TimeZone