クラスValueRange
- すべての実装されたインタフェース:
Serializable
TemporalFieldのすべてのインスタンスには、有効な値の範囲があります。 たとえば、ISO暦の「月の日」は1から始まり、28と31の間のいずれかで終わります。 このクラスはその有効な範囲を保持します。
このクラスの制限に注意することが重要です。 最大値と最小値だけが提供されます。 外側の範囲の中に無効な値が存在する可能性があります。 たとえば、ある特異なフィールドの有効値が1、2、4、6、7の場合、範囲は1から7までになりますが、値3および5は無効です。
このクラスのインスタンスは、特定のフィールドには関連付けられません。
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明intcheckValidIntValue(long value, TemporalField field) 指定された値が有効で、intに収まることを確認します。longcheckValidValue(long value, TemporalField field) 指定された値が有効であることを確認します。booleanこの範囲が別の範囲と等しいかどうかをチェックします。longフィールドが取り得る最大の最小値を取得します。longフィールドが取り得る最大値を取得します。longフィールドが取り得る最小値を取得します。longフィールドが取り得る最小の最大値を取得します。inthashCode()この範囲のハッシュ・コード。booleanisFixed()値の範囲が固定で完全に既知かどうか。boolean範囲内のすべての値がintに収まるかどうかを確認します。booleanisValidIntValue(long value) 値が有効な範囲内にあり、範囲内のすべての値がintに収まることを確認します。booleanisValidValue(long value) 値が有効な範囲内にあるかどうかを確認します。static ValueRangeof(long min, long max) 固定の値範囲を取得します。static ValueRangeof(long min, long maxSmallest, long maxLargest) 可変の値範囲を取得します。static ValueRangeof(long minSmallest, long minLargest, long maxSmallest, long maxLargest) 完全に可変の値範囲を取得します。toString()この範囲をStringとして出力します。
-
メソッドの詳細
-
of
public static ValueRange of(long min, long max) 固定の値範囲を取得します。このファクトリは、最小値と最大値が固定の範囲を取得します。 たとえば、ISO暦の月の範囲は常に1から12までです。
- パラメータ:
min- 最小値max- 最大値- 戻り値:
- 最小値、最大値に対応するValueRange。null以外
- スロー:
IllegalArgumentException- 最小値が最大値より大きい場合
-
of
public static ValueRange of(long min, long maxSmallest, long maxLargest) 可変の値範囲を取得します。このファクトリは、最小値が固定で最大値が可変の範囲を取得します。 たとえば、ISO暦の「月の日」は常に1から始まりますが、28と31の間で終わります。
- パラメータ:
min- 最小値maxSmallest- 最小の最大値maxLargest- 最大の最大値- 戻り値:
- 最小値、最小の最大値、最大の最大値に対応するValueRange。null以外
- スロー:
IllegalArgumentException- 最小値が最小の最大値より大きいか、最小の最大値が最大の最大値より大きい場合
-
of
public static ValueRange of(long minSmallest, long minLargest, long maxSmallest, long maxLargest) 完全に可変の値範囲を取得します。このファクトリは、最小値と最大値の両方が可変の範囲を取得します。
- パラメータ:
minSmallest- 最小の最小値minLargest- 最大の最小値maxSmallest- 最小の最大値maxLargest- 最大の最大値- 戻り値:
- 最小の最小値、最大の最小値、最小の最大値、最大の最大値に対応するValueRange。null以外
- スロー:
IllegalArgumentException- 最小最小値が最小値より大きい場合、最小値が最大値より大きい場合、最大値が最大値より大きい場合、または最小値が最大値より大きい場合
-
isFixed
public boolean isFixed()値の範囲が固定で完全に既知かどうか。たとえば、ISO暦の「月の日」は1から始まり、28と31の間で終わります。 最大値が不明確なので、範囲は固定ではありません。 ただし、1月の場合、範囲は常に1から31までなので、範囲は固定です。
- 戻り値:
- 値のセットが固定の場合はtrue
-
getMinimum
public long getMinimum()フィールドが取り得る最小値を取得します。たとえば、ISO暦の「月の日」は常に1から始まります。 したがって、最小値は1です。
- 戻り値:
- このフィールドの最小値
-
getLargestMinimum
public long getLargestMinimum()フィールドが取り得る最大の最小値を取得します。たとえば、ISO暦の「月の日」は常に1から始まります。 したがって、最大の最小値は1です。
- 戻り値:
- このフィールドが取り得る最大の最小値
-
getSmallestMaximum
public long getSmallestMaximum()フィールドが取り得る最小の最大値を取得します。たとえば、ISO暦の「月の日」は28と31の間で終わります。 したがって、最小の最大値は28です。
- 戻り値:
- このフィールドが取り得る最小の最大値
-
getMaximum
public long getMaximum()フィールドが取り得る最大値を取得します。たとえば、ISO暦の「月の日」は28と31の間で終わります。 したがって、最大値は31です。
- 戻り値:
- このフィールドの最大値
-
isIntValue
public boolean isIntValue()範囲内のすべての値がintに収まるかどうかを確認します。すべての有効値が
intの境界に収まるかどうかを確認します。たとえば、ISO暦の月の値は1から12までで、これは
intに収まります。 これに対し、ISO暦の「1日のうちのナノ秒」は1から86,400,000,000,000までで、これはintに収まりません。この実装は、
getMinimum()とgetMaximum()を使用します。- 戻り値:
- 有効な値が常に
intに収まる場合はtrue
-
isValidValue
public boolean isValidValue(long value) 値が有効な範囲内にあるかどうかを確認します。値が保存された値の範囲内にあるかどうかを確認します。
- パラメータ:
value- チェックする値- 戻り値:
- 値が有効な場合はtrue
-
isValidIntValue
public boolean isValidIntValue(long value) 値が有効な範囲内にあり、範囲内のすべての値がintに収まることを確認します。このメソッドは
isIntValue()とisValidValue(long)を組み合せます。- パラメータ:
value- チェックする値- 戻り値:
- 値が有効で
intに収まる場合はtrue
-
checkValidValue
public long checkValidValue(long value, TemporalField field) 指定された値が有効であることを確認します。値が有効な範囲内にあることを検証します。 このフィールドはエラー・メッセージを向上させるためだけに使用されます。
- パラメータ:
value- チェックする値field- チェック対象のフィールド。nullの場合もあり- 戻り値:
- 渡された値
- 関連項目:
-
checkValidIntValue
public int checkValidIntValue(long value, TemporalField field) 指定された値が有効で、intに収まることを確認します。値が有効な範囲内にあり、すべての有効値が
intの境界に収まることを検証します。 このフィールドはエラー・メッセージを向上させるためだけに使用されます。- パラメータ:
value- チェックする値field- チェック対象のフィールド。nullの場合もあり- 戻り値:
- 渡された値
- 関連項目:
-
equals
-
hashCode
-
toString
-