2011-07-26 12 views
0

Dateオブジェクトの年/月/日の値を取得したいのですが、などのメソッドは廃止予定です。docsそれは代わりにCalendarを使用することを示唆していますが、廃止されたメソッドを代わりに使用するのは大丈夫ですか?それはちょうどProcessingで書かれたおもちゃプログラムですが、私はいくつかのオブジェクトでかなりの日付操作をしているので、速度が懸念されるかもしれません。Javaの日付操作ですか?

+2

おもちゃプログラムでは、必要なものを使用します。あなたの "おもちゃ"から学びたいなら、廃止されたメソッドを残しておいてください。 – woliveirajr

+0

この投稿で提案されているように 'java.util.Calendar'を利用してください。 http://stackoverflow.com/questions/2654025/how-to-get-year-month-day-hours-minutes-seconds-and-milliseconds-of-the-curr – Bitmap

答えて

1

どちらか一つが細かいです。私はCalendarとちょうどJavaのバージョンとの一貫性に固執します。廃止されたメソッドは、それが良い習慣であるためにのみ避けるべきです。

実行可能な代替手段がある場合は、スピードなどの理由がない限り、廃止されたものから遠ざかります。 DateからCalendarに切り替えると、スピードが大幅に低下することは考えられません。あなたはベンチマークをしたいかもしれません。

3

私はあなたの意見では、日付/時間の作業のために働くもっと良いライブラリであるYoda Timeを見ることをお勧めします。

http://joda-time.sourceforge.net/

+0

+1のジョーダ時間を使用しています – Richard

+0

あなたがコアJavaで必要とすることを非常に簡単に達成することができれば、第三者図書館に依存することはお勧めしません。 – FrVaBe

1

APIを削除すると、dangerous or buggyとなる場合があります。提案された選択肢が存在する場合は、それらを使用する必要があります(また、無視するのに慣れないでください)。カレンダーを使用することは、あなたが必要とするものを得るのが難しくありません。特別なカレンダー操作をしている場合は、Charles Goodwinの言葉通りにJodaを試すことができますが、ユースケースではサードパーティのライブラリに依存する必要はありません。

1

Dateメソッドの使用はお勧めしません。私は何の利点も見ません。 DateまたはCalendarでそのメソッドを呼び出すと、プログラマとしての違いはありませんか? Dateインスタンスでそれを呼び出すことには何のメリットもありません。

注意したように、これらのメソッドは非推奨です。これは、いつでも予告なしにAPIから削除できることを意味します。現実には、JVMのアップグレードでのみ発生する可能性があります。あなたのコードは、削除されたJVMに切り替えた場合にのみ機能しなくなります。

リスクが小さいため、コードが突然停止することはありますが、ゼロではありません。