public final class ValueRange extends Object implements Serializable
TemporalField
のすべてのインスタンスには、有効な値の範囲があります。 たとえば、ISO暦の「月の日」は1から始まり、28と31の間のいずれかで終わります。 このクラスはその有効な範囲を保持します。
このクラスの制限に注意することが重要です。 最大値と最小値だけが提供されます。 外側の範囲の中に無効な値が存在する可能性があります。 たとえば、ある特異なフィールドの有効値が1、2、4、6、7の場合、範囲は1から7までになりますが、値3および5は無効です。
このクラスのインスタンスは、特定のフィールドには関連付けられません。
修飾子と型 | メソッド | 説明 |
---|---|---|
int |
checkValidIntValue(long value, TemporalField field) |
指定された値が有効で、
int に収まることを確認します。 |
long |
checkValidValue(long value, TemporalField field) |
指定された値が有効であることを確認します。
|
boolean |
equals(Object obj) |
この範囲がもう一方の範囲と等しいかどうかを確認します。
|
long |
getLargestMinimum() |
フィールドが取り得る最大の最小値を取得します。
|
long |
getMaximum() |
フィールドが取り得る最大値を取得します。
|
long |
getMinimum() |
フィールドが取り得る最小値を取得します。
|
long |
getSmallestMaximum() |
フィールドが取り得る最小の最大値を取得します。
|
int |
hashCode() |
この範囲のハッシュ・コード。
|
boolean |
isFixed() |
値の範囲が固定で完全に既知かどうか。
|
boolean |
isIntValue() |
範囲内のすべての値が
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) |
完全に可変の値範囲を取得します。
|
String |
toString() |
この範囲を
String として出力します。 |
public static ValueRange of(long min, long max)
このファクトリは、最小値と最大値が固定の範囲を取得します。 たとえば、ISO暦の月の範囲は常に1から12までです。
min
- 最小値max
- 最大値IllegalArgumentException
- 最小値が最大値より大きい場合public static ValueRange of(long min, long maxSmallest, long maxLargest)
このファクトリは、最小値が固定で最大値が可変の範囲を取得します。 たとえば、ISO暦の「月の日」は常に1から始まりますが、28と31の間で終わります。
min
- 最小値maxSmallest
- 最小の最大値maxLargest
- 最大の最大値IllegalArgumentException
- 最小値が最小の最大値より大きいか、最小の最大値が最大の最大値より大きい場合public static ValueRange of(long minSmallest, long minLargest, long maxSmallest, long maxLargest)
このファクトリは、最小値と最大値の両方が可変の範囲を取得します。
minSmallest
- 最小の最小値minLargest
- 最大の最小値maxSmallest
- 最小の最大値maxLargest
- 最大の最大値IllegalArgumentException
- 最小の最小値が最小の最大値より大きいか、最小の最大値が最大の最大値より大きいか、最大の最小値が最大の最大値より大きい場合public boolean isFixed()
たとえば、ISO暦の「月の日」は1から始まり、28と31の間で終わります。 最大値が不明確なので、範囲は固定ではありません。 ただし、1月の場合、範囲は常に1から31までなので、範囲は固定です。
public long getMinimum()
たとえば、ISO暦の「月の日」は常に1から始まります。 したがって、最小値は1です。
public long getLargestMinimum()
たとえば、ISO暦の「月の日」は常に1から始まります。 したがって、最大の最小値は1です。
public long getSmallestMaximum()
たとえば、ISO暦の「月の日」は28と31の間で終わります。 したがって、最小の最大値は28です。
public long getMaximum()
たとえば、ISO暦の「月の日」は28と31の間で終わります。 したがって、最大値は31です。
public boolean isIntValue()
int
に収まるかどうかを確認します。
すべての有効値がint
の境界に収まるかどうかを確認します。
たとえば、ISO暦の月の値は1から12までで、これはint
に収まります。 これに対し、ISO暦の「1日のうちのナノ秒」は1から86,400,000,000,000までで、これはint
に収まりません。
この実装は、getMinimum()
とgetMaximum()
を使用します。
int
に収まる場合はtruepublic boolean isValidValue(long value)
値が保存された値の範囲内にあるかどうかを確認します。
value
- チェックする値public boolean isValidIntValue(long value)
int
に収まることを確認します。
このメソッドはisIntValue()
とisValidValue(long)
を組み合せます。
value
- チェックする値int
に収まる場合はtruepublic long checkValidValue(long value, TemporalField field)
値が有効な範囲内にあることを検証します。 このフィールドはエラー・メッセージを向上させるためだけに使用されます。
value
- チェックする値field
- チェック対象のフィールド。nullの場合もありisValidValue(long)
public int checkValidIntValue(long value, TemporalField field)
int
に収まることを確認します。
値が有効な範囲内にあり、すべての有効値がint
の境界に収まることを検証します。 このフィールドはエラー・メッセージを向上させるためだけに使用されます。
value
- チェックする値field
- チェック対象のフィールド。nullの場合もありisValidIntValue(long)
public boolean equals(Object obj)
比較は4つの値(最小値、最大の最小値、最小の最大値、最大値)に基づいて行われます。 ValueRange
型のオブジェクトのみが比較され、それ以外の型ではfalseが返されます。
equals
、クラスObject
obj
- チェックするオブジェクト、nullはfalseを返すObject.hashCode()
、HashMap
public int hashCode()
hashCode
、クラスObject
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。