Package org.apache.commons.lang.math

# Class NumberRange

java.lang.Object
org.apache.commons.lang.math.Range
org.apache.commons.lang.math.NumberRange

All Implemented Interfaces:
  `Serializable`

public final class NumberRange extends Range implements Serializable

`NumberRange` represents an inclusive range of `Number` objects of the same type.

Since:
  2.0 (previously in org.apache.commons.lang)
Version:
  $Id: NumberRange.java 1057072 2011-01-10 01:55:57Z niallp $
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`NumberRange(Number num)`
Constructs a new `NumberRange` using the specified number as both the minimum and maximum in this range.
`NumberRange(Number num1, Number num2)`
Constructs a new `NumberRange` with the specified minimum and maximum numbers (both inclusive).

## Method Summary

Modifier and Type
Method
Description
`boolean`
`containsNumber(Number number)`
Tests whether the specified `number` occurs within this range.
`boolean`
`equals(Object obj)`
Compares this range to another object to test if they are equal.
`Number`
`getMaximumNumber()`
Returns the maximum number in this range.
`Number`
`getMinimumNumber()`
Returns the minimum number in this range.
`int`
`hashCode()`
Gets a hashCode for the range.
`String`
`toString()`
Gets the range as a `String`.

### Methods inherited from class org.apache.commons.lang.math.Range

`containsDouble, containsDouble, containsFloat, containsFloat, containsInteger, containsInteger, containsLong, containsLong, containsRange, getMaximumDouble, getMaximumFloat, getMaximumInteger, getMaximumLong, getMinimumDouble, getMinimumFloat, getMinimumInteger, getMinimumLong, overlapsRange`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### NumberRange

public NumberRange(Number num)

Constructs a new `NumberRange` using the specified number as both the minimum and maximum in this range.

Parameters:
  `num` - the number to use for this range
Throws:
  `IllegalArgumentException` - if the number is `null`
  `IllegalArgumentException` - if the number doesn't implement `Comparable`
  `IllegalArgumentException` - if the number is `Double.NaN` or `Float.NaN`

### NumberRange

public NumberRange(Number num1, Number num2)

Constructs a new `NumberRange` with the specified minimum and maximum numbers (both inclusive).

The arguments may be passed in the order (min,max) or (max,min). The `getMinimumNumber()` and `getMaximumNumber()` methods will return the correct value.

This constructor is designed to be used with two `Number` objects of the same type. If two objects of different types are passed in, an exception is thrown.

Parameters:
  `num1` - first number that defines the edge of the range, inclusive
  `num2` - second number that defines the edge of the range, inclusive
Throws:
  `IllegalArgumentException` - if either number is `null`
  `IllegalArgumentException` - if the numbers are of different types
  `IllegalArgumentException` - if the numbers don't implement `Comparable`

## Method Details

### getMinimumNumber

public Number getMinimumNumber()

Returns the minimum number in this range.

Specified by:
  `getMinimumNumber` in class `Range`
Returns:
  the minimum number in this range

### getMaximumNumber

public Number getMaximumNumber()

Returns the maximum number in this range.

Specified by:
  `getMaximumNumber` in class `Range`
Returns:
  the maximum number in this range

### containsNumber

public boolean containsNumber(Number number)

Tests whether the specified `number` occurs within this range.

`null` is handled and returns `false`.

Specified by:
  `containsNumber` in class `Range`
Parameters:
  `number` - the number to test, may be `null`
Returns:
  `true` if the specified number occurs within this range
Throws:
  `IllegalArgumentException` - if the number is of a different type to the range

### equals

public boolean equals(Object obj)

Compares this range to another object to test if they are equal.

.

To be equal, the class, minimum and maximum must be equal.

Overrides:
  `equals` in class `Range`
Parameters:
  `obj` - the reference object with which to compare
Returns:
  `true` if this object is equal

### hashCode

public int hashCode()

Gets a hashCode for the range.

Overrides:
  `hashCode` in class `Range`
Returns:
  a hash code value for this object

### toString

public String toString()

Gets the range as a `String`.

The format of the String is 'Range[min,max]'.

Overrides:
  `toString` in class `Range`
Returns:
  the `String` representation of this range