Calendar クラスのcomplete()
メソッドは、次の操作を実行します。
protected void complete()
カレンダー フィールドの未設定のフィールドに入力します。最初に、時刻値 (エポックからのミリ秒オフセット) がカレンダー フィールド値から計算されていない場合、computeTime() メソッドが呼び出されます。次に、computeFields() メソッドが呼び出され、すべてのカレンダー フィールド値が計算されます。
complete()
メソッドには次のコードがあります。
protected void complete()
{
if (!isTimeSet)
updateTime();
if (!areFieldsSet || !areAllFieldsSet) {
computeFields(); // fills in unset fields
areAllFieldsSet = areFieldsSet = true;
}
}
私の質問は、この円形作品のポイントは何ですか?? からの最初の値
protected int[] fields
の値を更新するために使用されます
long time
メソッドを使用しcomputeTime()
ます。次に、 の値を使用して、 usingのtime
値を更新します。との両方の値は、それ自体への呼び出し後に同期されますよね?? または私はここに何かが欠けていますか??fields
computeFields()
time
fields
computeTime()
なぜそんなに重要なのかと尋ねる人のために、カレンダーで時間が再計算される順序が、取得する時間を変更することが多いためですgetTime()
(または、私が読んだことがあります)!!