- java.lang.Object
-
- java.time.temporal.ValueRange
-
- All Implemented Interfaces:
-
Serializable
public final class ValueRange extends Object implements Serializable
日期时间字段的有效值的范围。所有
TemporalField实例都具有有效的值范围。 例如,ISO日期从1到28到31之间。这个类捕获有效范围。了解这个课程的局限性很重要。 只提供最小值和最大值。 在外部范围内可能存在无效值。 例如,奇怪的字段可能具有1,2,4,6,7的有效值,因此具有范围“1 - 7”,尽管值3和5无效。
这个类的实例不是绑定到一个特定的领域。
- 实现要求:
- 这个类是不可变的和线程安全的。
- 从以下版本开始:
- 1.8
- 另请参见:
- Serialized Form
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 intcheckValidIntValue(long value, TemporalField field)检查指定的值是否有效并适合int。longcheckValidValue(long value, TemporalField field)检查指定的值是否有效。booleanequals(Object obj)检查此范围是否等于另一个范围。longgetLargestMinimum()获取该字段可能采取的最大可能最小值。longgetMaximum()获取字段可以占用的最大值。longgetMinimum()获取字段可以占用的最小值。longgetSmallestMaximum()获取该字段可以采用的最小可能最大值。inthashCode()此范围的哈希码。booleanisFixed()值范围是固定的并且是完全已知的。booleanisIntValue()检查范围内的所有值是否适合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)获得完全可变的值范围。StringtoString()将此范围输出为String。
-
-
-
方法详细信息
-
of
public static ValueRange of(long min, long max)
获得固定值范围。该工厂获得最小值和最大值固定的范围。 例如,ISO月份总是从1到12。
- 参数
-
min- 最小值 -
max- 最大值 - 结果
- ValueRange为min,max,not null
- 异常
-
IllegalArgumentException- 如果最小值大于最大值
-
of
public static ValueRange of(long min, long maxSmallest, long maxLargest)
获取变量值范围。该工厂获得最小值固定的范围,最大值可能会有所不同。 例如,ISO日历始终从1开始,但是在28和31之间结束。
- 参数
-
min- 最小值 -
maxSmallest- 最小最大值 -
maxLargest- 最大最大值 - 结果
- ValueRange为最小值,最小值最大值,最大值最大值,非空值
- 异常
-
IllegalArgumentException- 如果最小值大于最小最大值,或最小最大值大于最大值
-
of
public static ValueRange of(long minSmallest, long minLargest, long maxSmallest, long maxLargest)
获得完全可变的值范围。该工厂获得最小值和最大值可能会有所不同的范围。
- 参数
-
minSmallest- 最小的最小值 -
minLargest- 最大的最小值 -
maxSmallest- 最小最大值 -
maxLargest- 最大最大值 - 结果
- ValueRange为最小最小,最大最小,最小最大值,最大最大值,非空值
- 异常
-
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 nano-of-day的运行时间从1到86,400,000,000,000不符合int。此实现使用
getMinimum()和getMaximum()。- 结果
-
如果有效值始终符合
int
-
isValidValue
public boolean isValidValue(long value)
检查该值是否在有效范围内。这检查该值是否在存储的值范围内。
- 参数
-
value- 要检查的值 - 结果
- 如果值有效,则为true
-
isValidIntValue
public boolean isValidIntValue(long value)
检查值是否在有效范围内,范围内的所有值都适合int。该方法结合了
isIntValue()和isValidValue(long)。- 参数
-
value- 要检查的值 - 结果
-
如果值有效并适合于
int
-
checkValidValue
public long checkValidValue(long value, TemporalField field)检查指定的值是否有效。这将验证该值在有效的值范围内。 该字段仅用于改进错误消息。
- 参数
-
value- 要检查的值 -
field- 被检查的字段可以为空 - 结果
- 传入的价值
- 另请参见:
-
isValidValue(long)
-
checkValidIntValue
public int checkValidIntValue(long value, TemporalField field)检查指定的值是否有效并适合int。这将验证该值在有效的值范围内,并且所有有效值都在
int的范围内。 该字段仅用于改进错误消息。- 参数
-
value- 要检查的值 -
field- 被检查的字段可以为空 - 结果
- 传入的价值
- 另请参见:
-
isValidIntValue(long)
-
equals
public boolean equals(Object obj)
检查此范围是否等于另一个范围。比较是基于四个值,最小值,最大值,最小值,最小值和最大值。 只对
ValueRange类型的ValueRange进行比较,其他类型返回false。- 重写:
-
equals在Object - 参数
-
obj- 要检查的对象,null返回false - 结果
- 如果这等于其他范围,则为true
- 另请参见:
-
Object.hashCode(),HashMap
-
hashCode
public int hashCode()
此范围的哈希码。- 重写:
-
hashCode在Object - 结果
- 一个合适的哈希码
- 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
-