- すべての実装されたインタフェース:
Serializable
TemporalField
のすべてのインスタンスには、有効な値の範囲があります。 たとえば、ISO暦の「月の日」は1から始まり、28と31の間のいずれかで終わります。 このクラスはその有効な範囲を保持します。
このクラスの制限に注意することが重要です。 最大値と最小値だけが提供されます。 外側の範囲の中に無効な値が存在する可能性があります。 たとえば、ある特異なフィールドの有効値が1、2、4、6、7の場合、範囲は1から7までになりますが、値3および5は無効です。
このクラスのインスタンスは、特定のフィールドには関連付けられません。
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明int
checkValidIntValue
(long value, TemporalField field) 指定された値が有効で、int
に収まることを確認します。long
checkValidValue
(long value, TemporalField field) 指定された値が有効であることを確認します。boolean
この範囲が別の範囲と等しいかどうかをチェックします。long
フィールドが取り得る最大の最小値を取得します。long
フィールドが取り得る最大値を取得します。long
フィールドが取り得る最小値を取得します。long
フィールドが取り得る最小の最大値を取得します。int
hashCode()
この範囲のハッシュ・コード。boolean
isFixed()
値の範囲が固定で完全に既知かどうか。boolean
範囲内のすべての値がint
に収まるかどうかを確認します。boolean
isValidIntValue
(long value) 値が有効な範囲内にあり、範囲内のすべての値がint
に収まることを確認します。boolean
isValidValue
(long value) 値が有効な範囲内にあるかどうかを確認します。static ValueRange
of
(long min, long max) 固定の値範囲を取得します。static ValueRange
of
(long min, long maxSmallest, long maxLargest) 可変の値範囲を取得します。static ValueRange
of
(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
public boolean equals(Object obj) この範囲が別の範囲と等しいかどうかをチェックします。比較は4つの値(最小値、最大の最小値、最小の最大値、最大値)に基づいて行われます。
ValueRange
型のオブジェクトのみが比較され、それ以外の型ではfalseが返されます。 -
hashCode
public int hashCode()この範囲のハッシュ・コード。 -
toString
public String toString()この範囲をString
として出力します。フォーマットは「{min}/{largestMin} - {smallestMax}/{max}」となります。ここで、largestMinまたはsmallestMaxのセクションは、minまたはmaxと同じであれば、関連するスラッシュとともに省略できます。
-