Most visited

Recently visited

Added in API level 21

Range

public final class Range
extends Object

java.lang.Object
   ↳ android.util.Range<T extends java.lang.Comparable<? super T>>


用于描述两个数值范围的不可变类。

范围(或“间隔”)定义了一些Comparable类型值的连续范围周围的包含边界; 例如“从1到100的整数”。

所有范围都是有界的,范围的左侧总是 >=范围的右侧。

虽然实现本身是不可变的,但存储的对象也必须是不可变的。 如果可变对象存储在此处,则范围有效变为可变。

Summary

Public constructors

Range(T lower, T upper)

创建一个新的不可变范围。

Public methods

T clamp(T value)

value到这个范围。

boolean contains(Range<T> range)

检查另一个 range是否在此范围内。

boolean contains(T value)

检查 value是否在此范围内。

static <T extends Comparable<? super T>> Range<T> create(T lower, T upper)

创建一个新的不可变范围,并推断出参数类型。

boolean equals(Object obj)

比较两个范围的相等性。

Range<T> extend(Range<T> range)

返回包含此范围的最小范围,以及另一个 range

Range<T> extend(T value)

返回包含此范围和 value的最小范围。

Range<T> extend(T lower, T upper)

返回包含此范围的最小范围以及由 [lower, upper]指定的包含范围。

T getLower()

获取较低端点。

T getUpper()

获取高端端点。

int hashCode()

返回对象的哈希码值。

Range<T> intersect(T lower, T upper)

返回此范围与 [lower, upper]指定的包含范围的 [lower, upper]

Range<T> intersect(Range<T> range)

返回此范围与另一个 range

String toString()

以字符串表示 "[lower, upper]"返回范围 "[lower, upper]"

Inherited methods

From class java.lang.Object

Public constructors

Range

Added in API level 21
Range (T lower, 
                T upper)

创建一个新的不可变范围。

终点是[lower, upper] ; 那就是范围有界。 lower必须是lesser or equalupper

Parameters
lower T: The lower endpoint (inclusive)
upper T: The upper endpoint (inclusive)
Throws
NullPointerException if lower or upper is null

Public methods

clamp

Added in API level 21
T clamp (T value)

value到这个范围。

如果该值在此范围内,则返回。 否则,如果它是比较< ,则返回较低端点,否则返回较高端点。 使用Comparable接口进行比较。

Parameters
value T: a non-null T reference
Returns
T value clamped to this range.

contains

Added in API level 21
boolean contains (Range<T> range)

检查另一个 range是否在此范围内。

如果两个端点均在此范围内,则认为范围在此范围内。

Parameters
range Range: a non-null T reference
Returns
boolean true if the range is within this inclusive range, false otherwise
Throws
NullPointerException if range was null

contains

Added in API level 21
boolean contains (T value)

检查 value是否在此范围内。

如果值是 >=下端点 <=上端点(使用 Comparable接口),则认为该值在此范围内。

Parameters
value T: a non-null T reference
Returns
boolean true if the value is within this inclusive range, false otherwise
Throws
NullPointerException if value was null

create

Added in API level 21
Range<T> create (T lower, 
                T upper)

创建一个新的不可变范围,并推断出参数类型。

终点是[lower, upper] ; 那就是范围有界。 lower必须是lesser or equalupper

Parameters
lower T: The lower endpoint (inclusive)
upper T: The upper endpoint (inclusive)
Returns
Range<T>
Throws
NullPointerException if lower or upper is null

equals

Added in API level 21
boolean equals (Object obj)

比较两个范围的相等性。

当且仅当下端点和上端点也相等时,才认为范围相等。

Parameters
obj Object: the reference object with which to compare.
Returns
boolean true if the ranges are equal, false otherwise

extend

Added in API level 21
Range<T> extend (Range<T> range)

返回包含此范围的最小范围,以及另一个 range

例如,如果一个< b < Ç < d,的[A,C]和[B,d]范围的扩展名是[A,d]。 由于端点是对象引用,因此不能保证从输入范围使用哪个特定的端点引用:

例如,如果一个 ==一个' < b < C,[A,B]和延长[A',C]的范围可以是任一[A,C]或[ 'A,C],其中,[' A,C]可以是确切的输入范围,也可以是具有相同端点的新创建的范围。

Parameters
range Range: a non-null Range<T> reference
Returns
Range<T> the extension of this range and the other range.
Throws
NullPointerException if range was null

extend

Added in API level 21
Range<T> extend (T value)

返回包含此范围和 value的最小范围。

有关更多详细信息,请参阅 extend(Range) ,因为此方法相当于 extend(Range.create(value, value))

Parameters
value T: a non-null T reference
Returns
Range<T> the extension of this range and the value.
Throws
NullPointerException if value was null

extend

Added in API level 21
Range<T> extend (T lower, 
                T upper)

返回包含此范围的最小范围以及由 [lower, upper]指定的包含范围。

See extend(Range) for more details.

Parameters
lower T: a non-null T reference
upper T: a non-null T reference
Returns
Range<T> the extension of this range and the other range.
Throws
NullPointerException if lower or upper was null

getLower

Added in API level 21
T getLower ()

获取较低端点。

Returns
T a non-null T reference

getUpper

Added in API level 21
T getUpper ()

获取高端端点。

Returns
T a non-null T reference

hashCode

Added in API level 21
int hashCode ()

返回对象的哈希码值。 为了散列表的好处而支持该方法,例如由HashMap提供的HashMap

hashCode的总合同是:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

尽可能合理实用,类Object定义的hashCode方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但Java TM编程语言不需要此实现技术。)

Returns
int a hash code value for this object.

intersect

Added in API level 21
Range<T> intersect (T lower, 
                T upper)

返回此范围与 [lower, upper]指定的包含范围的 [lower, upper]

有关更多详细信息,请参阅 intersect(Range)

Parameters
lower T: a non-null T reference
upper T: a non-null T reference
Returns
Range<T> the intersection of this range and the other range
Throws
NullPointerException if lower or upper was null
IllegalArgumentException if the ranges are disjoint.

intersect

Added in API level 21
Range<T> intersect (Range<T> range)

返回此范围与另一个 range

例如,如果一个< b < Ç < d,的[A,C]和[B,d]范围的交点为[B,C]。 由于端点是对象引用,因此不能保证从输入范围使用哪个特定的端点引用:

例如,如果a [ == < b < c,[a,b]和[a',c]范围的交集可以是[a,b]或['a,b],其中[a,b]可以要么是确切的输入范围,要么是具有相同端点的新创建的范围。

Parameters
range Range: a non-null Range<T> reference
Returns
Range<T> the intersection of this range and the other range.
Throws
NullPointerException if range was null
IllegalArgumentException if the ranges are disjoint.

toString

Added in API level 21
String toString ()

以字符串表示 "[lower, upper]"返回范围 "[lower, upper]"

Returns
String string representation of the range

Hooray!