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, 2014, Oracle and/or its affiliates. All rights reserved.