2011-08-07 22 views
21

Calendar.getInstance()は、私がgetInstanceを別の場所に呼び出し、日、月などを設定した場合、Calendar.getInstance()という別のフィールドを呼び出すと、通常のシングルトンのように機能します。以前に設定したものに設定されますか?つまり、Calendar.getInstance()に現在の時刻と曜日などのCalendarオブジェクトを返すようにしたい場合、何をする必要がありますか? clear()に電話するだけですか?インスタンスは現在の時刻にリセットされますか?Calendar.getInstance()...基本的な質問

これが愚かな質問である場合、私のお詫び申し上げます。

+7

はそれを試してみてください何が起こるか見る。インスタンスを取得してオブジェクトを表示するだけです。その後、数秒間寝ることができます。次に、インスタンスを再度取得し、値を表示して、それらが同じか違うかどうかを確認します。 – camickr

答えて

43

いいえ、Calendar.getInstance()はシングルトンインスタンスを返していません。 getInstance()を使用するポイントは、返すカレンダー実装とその初期化方法を決定するときに、デフォルトのロケールとタイムゾーンを考慮に入れることです。

現在時刻の2番目のカレンダーを取得するために何もする必要がないので、もう一度Calendar.getInstance()を呼び出してください。

+24

@camickr APIドキュメントの使い方を学ぶのは貴重なスキルですが、私は誰かを助けるためのダウンワードを得られないと思っています。 – KyleM

+0

これはポスターを手助けして問題解決方法を学ぶのに役立ちません。人々はAPIの読み方を学ぶ必要があります。 – camickr

+0

私はより多くの人々がdownvoteしたい。私たちは、フォーラムで質問を投稿する前に、基本的な問題解決のために自分自身に頼る方法を教授することによって、ポスターを賛美しています。そして、とにかくあなたに同情upvoteを与える人々がたくさんあることを心配しないでください。 – camickr

11

一般的に、このような質問についてはAPIドキュメント(ソースを参照)を使用できます。 APIのドキュメントから:

CalendarのgetInstanceメソッドは、そのカレンダー フィールドは現在の日付と時刻に初期化されているCalendarオブジェクトを返します。

 Calendar rightNow = Calendar.getInstance(); 

出典: http://download.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html

+7

@camickr:KyleMは、APIドキュメントがどのように役立つかを示す完璧な例を示しました。 APIドキュメントを参照する必要がある理由を教えるのに役立つとは思いませんか? – Jeremy

+5

@camickr誰が気にしますか?あなたはStackOverflow警察ですか? OPは質問をしてくれました。多分、OPは、私が自分の情報を入手した場所であると見ているので、次回はAPIのdocを使用するでしょう。 – KyleM

+1

いいえ、ポスターが実際にAPIを読み取る必要がないためです。ポスターがAPIを読み込んだ場合、正確なステートメントが見つかるので、ここで再ポストする必要はありません。また、APIを読んでいる間に、将来的に使用できる便利な方法がいくつか気づいています。 – camickr