Module java.base
Package java.lang

# Class Number

java.lang.Object
java.lang.Number

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `AtomicInteger`, `AtomicLong`, `BigDecimal`, `BigInteger`, `Byte`, `Double`, `DoubleAccumulator`, `DoubleAdder`, `Float`, `Integer`, `Long`, `LongAccumulator`, `LongAdder`, `Short`

public abstract class Number extends Object implements Serializable
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.

See Java Language Specification:
  5.1.2 Widening Primitive Conversion
  5.1.3 Narrowing Primitive Conversion
Since:
  1.0
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`Number()`
Constructor for subclasses to call.

## Method Summary

Modifier and Type
Method
Description
`byte`
`byteValue()`
Returns the value of the specified number as a `byte`.
`abstract double`
`doubleValue()`
Returns the value of the specified number as a `double`.
`abstract float`
`floatValue()`
Returns the value of the specified number as a `float`.
`abstract int`
`intValue()`
Returns the value of the specified number as an `int`.
`abstract long`
`longValue()`
Returns the value of the specified number as a `long`.
`short`
`shortValue()`
Returns the value of the specified number as a `short`.

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Number

public Number()
Constructor for subclasses to call.

## Method Details

### intValue

public abstract int intValue()
Returns the value of the specified number as an `int`.

Returns:
  the numeric value represented by this object after conversion to type `int`.

### longValue

public abstract long longValue()
Returns the value of the specified number as a `long`.

Returns:
  the numeric value represented by this object after conversion to type `long`.

### floatValue

public abstract float floatValue()
Returns the value of the specified number as a `float`.

Returns:
  the numeric value represented by this object after conversion to type `float`.

### doubleValue

public abstract double doubleValue()
Returns the value of the specified number as a `double`.

Returns:
  the numeric value represented by this object after conversion to type `double`.

### byteValue

public byte byteValue()
Returns the value of the specified number as a `byte`.

Implementation Requirements:
  The default implementation returns the result of `intValue()` cast to a `byte`.
Returns:
  the numeric value represented by this object after conversion to type `byte`.
Since:
  1.1

### shortValue

public short shortValue()
Returns the value of the specified number as a `short`.

Implementation Requirements:
  The default implementation returns the result of `intValue()` cast to a `short`.
Returns:
  the numeric value represented by this object after conversion to type `short`.
Since:
  1.1