Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/java/lang/Number#pubctors) \| [Methods](https://developer.android.com/reference/java/lang/Number#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/lang/Number#inhmethods)

# Number


`
public


abstract
class
Number
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


implements

https://developer.android.com/reference/java/io/Serializable


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | java.lang.Number |

Known direct subclasses [AtomicInteger](https://developer.android.com/reference/java/util/concurrent/atomic/AtomicInteger), [AtomicLong](https://developer.android.com/reference/java/util/concurrent/atomic/AtomicLong), [BigDecimal](https://developer.android.com/reference/android/icu/math/BigDecimal), [BigInteger](https://developer.android.com/reference/java/math/BigInteger), [Byte](https://developer.android.com/reference/java/lang/Byte), [Double](https://developer.android.com/reference/java/lang/Double), [DoubleAccumulator](https://developer.android.com/reference/java/util/concurrent/atomic/DoubleAccumulator), [DoubleAdder](https://developer.android.com/reference/java/util/concurrent/atomic/DoubleAdder), [Float](https://developer.android.com/reference/java/lang/Float), [Half](https://developer.android.com/reference/android/util/Half), [Integer](https://developer.android.com/reference/java/lang/Integer), [Long](https://developer.android.com/reference/java/lang/Long), [LongAccumulator](https://developer.android.com/reference/java/util/concurrent/atomic/LongAccumulator), [LongAdder](https://developer.android.com/reference/java/util/concurrent/atomic/LongAdder), [Rational](https://developer.android.com/reference/android/util/Rational), [Short](https://developer.android.com/reference/java/lang/Short) [AtomicInteger](https://developer.android.com/reference/java/util/concurrent/atomic/AtomicInteger) An `int` value that may be updated atomically. [AtomicLong](https://developer.android.com/reference/java/util/concurrent/atomic/AtomicLong) A `long` value that may be updated atomically. [BigDecimal](https://developer.android.com/reference/android/icu/math/BigDecimal) The `BigDecimal` class implements immutable arbitrary-precision decimal numbers. [BigInteger](https://developer.android.com/reference/java/math/BigInteger) Immutable arbitrary-precision integers. [Byte](https://developer.android.com/reference/java/lang/Byte) The `Byte` class wraps a value of primitive type `byte` in an object. [Double](https://developer.android.com/reference/java/lang/Double) The `Double` class wraps a value of the primitive type `double` in an object. [DoubleAccumulator](https://developer.android.com/reference/java/util/concurrent/atomic/DoubleAccumulator) One or more variables that together maintain a running `double` value updated using a supplied function. [DoubleAdder](https://developer.android.com/reference/java/util/concurrent/atomic/DoubleAdder) One or more variables that together maintain an initially zero `double` sum. [Float](https://developer.android.com/reference/java/lang/Float) The `Float` class wraps a value of primitive type `float` in an object. [Half](https://developer.android.com/reference/android/util/Half) The `Half` class is a wrapper and a utility class to manipulate half-precision 16-bit
[IEEE 754](https://en.wikipedia.org/wiki/Half-precision_floating-point_format)
floating point data types (also called fp16 or binary16).


[Integer](https://developer.android.com/reference/java/lang/Integer) The `Integer` class wraps a value of the primitive type `int` in an object. [Long](https://developer.android.com/reference/java/lang/Long) The `Long` class wraps a value of the primitive type `long` in an object. [LongAccumulator](https://developer.android.com/reference/java/util/concurrent/atomic/LongAccumulator) One or more variables that together maintain a running `long` value updated using a supplied function. [LongAdder](https://developer.android.com/reference/java/util/concurrent/atomic/LongAdder) One or more variables that together maintain an initially zero `long` sum. [Rational](https://developer.android.com/reference/android/util/Rational) An immutable data type representation a rational number.


[Short](https://developer.android.com/reference/java/lang/Short) The `Short` class wraps a value of primitive type `short` in an object.   

*** ** * ** ***

The abstract class `Number` is the superclass of platform
classes representing numeric values that are convertible to the
primitive types `byte`, `double`, `float`, `int`, `long`, and `short`.

The specific semantics of the conversion from the numeric value of
a particular `Number` implementation to a given primitive
type is defined by the `Number` implementation in question.

For platform classes, the conversion is often analogous to a
narrowing primitive conversion or a widening primitive conversion
as defined in The Java Language Specification
for converting between primitive types. Therefore, conversions may
lose information about the overall magnitude of a numeric value, may
lose precision, and may even return a result of a different sign
than the input.

See the documentation of a given `Number` implementation for
conversion details.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/java/lang/Number#Number()() ` Constructor for subclasses to call. |

| ### Public methods ||
|---|---|
| ` byte` | ` https://developer.android.com/reference/java/lang/Number#byteValue()() ` Returns the value of the specified number as a `byte`. |
| ` abstract double` | ` https://developer.android.com/reference/java/lang/Number#doubleValue()() ` Returns the value of the specified number as a `double`. |
| ` abstract float` | ` https://developer.android.com/reference/java/lang/Number#floatValue()() ` Returns the value of the specified number as a `float`. |
| ` abstract int` | ` https://developer.android.com/reference/java/lang/Number#intValue()() ` Returns the value of the specified number as an `int`. |
| ` abstract long` | ` https://developer.android.com/reference/java/lang/Number#longValue()() ` Returns the value of the specified number as a `long`. |
| ` short` | ` https://developer.android.com/reference/java/lang/Number#shortValue()() ` Returns the value of the specified number as a `short`. |

### Inherited methods

From class `

https://developer.android.com/reference/java/lang/Object

` `


https://developer.android.com/reference/java/lang/Object` `
https://developer.android.com/reference/java/lang/Object#clone()()
`

Creates and returns a copy of this object.


`


boolean` `
https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj)
`

Indicates whether some other object is "equal to" this one.


`


void` `
https://developer.android.com/reference/java/lang/Object#finalize()()
`

Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.


`


final

https://developer.android.com/reference/java/lang/Class<?>` `
https://developer.android.com/reference/java/lang/Object#getClass()()
`

Returns the runtime class of this `Object`.


`


int` `
https://developer.android.com/reference/java/lang/Object#hashCode()()
`

Returns a hash code value for the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notify()()
`

Wakes up a single thread that is waiting on this object's
monitor.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notifyAll()()
`

Wakes up all threads that are waiting on this object's monitor.


`


https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Object#toString()()
`

Returns a string representation of the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait()()
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*.


## Public constructors

### Number

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Number ()
```

Constructor for subclasses to call.

<br />

## Public methods

### byteValue

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public byte byteValue ()
```

Returns the value of the specified number as a `byte`.

<br />

##### Implementation Requirements:

- The default implementation returns the result of `https://developer.android.com/reference/java/lang/Number#intValue()` cast to a `byte`.

| Returns ||
|---|---|
| `byte` | the numeric value represented by this object after conversion to type `byte`. <br /> |

### doubleValue

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract double doubleValue ()
```

Returns the value of the specified number as a `double`.

<br />

| Returns ||
|---|---|
| `double` | the numeric value represented by this object after conversion to type `double`. <br /> |

### floatValue

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract float floatValue ()
```

Returns the value of the specified number as a `float`.

<br />

| Returns ||
|---|---|
| `float` | the numeric value represented by this object after conversion to type `float`. <br /> |

### intValue

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract int intValue ()
```

Returns the value of the specified number as an `int`.

<br />

| Returns ||
|---|---|
| `int` | the numeric value represented by this object after conversion to type `int`. <br /> |

### longValue

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract long longValue ()
```

Returns the value of the specified number as a `long`.

<br />

| Returns ||
|---|---|
| `long` | the numeric value represented by this object after conversion to type `long`. <br /> |

### shortValue

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public short shortValue ()
```

Returns the value of the specified number as a `short`.

<br />

##### Implementation Requirements:

- The default implementation returns the result of `https://developer.android.com/reference/java/lang/Number#intValue()` cast to a `short`.

| Returns ||
|---|---|
| `short` | the numeric value represented by this object after conversion to type `short`. <br /> |