# Class Integer

java.lang.Object
java.lang.Number
java.lang.Integer

All Implemented Interfaces:
  `Comparable<Integer>`

public final class Integer extends Number implements Comparable<Integer>
The Integer class wraps a value of the primitive type int in an object. An object of type Integer contains a single field whose type is int. In addition, this class provides several methods for converting an int to a String and a String to an int, as well as other constants and methods useful when dealing with an int. Since: JDK1.0, CLDC 1.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `MAX_VALUE`
  The largest value of type int.
  `static final int`
  `MIN_VALUE`
  The smallest value of type int.
  `static final java.lang.Class<Integer>`
  `TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Integer(int value)`
  Constructs a newly allocated Integer object that represents the primitive int argument.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `byte`
  `byteValue()`
  Returns the value of this Integer as a byte.
  `static int`
  `compare(int i1, int i2)`
  `int`
  `compareTo(Integer i)`
  Compares this object to the specified object to determine their relative order.
  `double`
  `doubleValue()`
  Returns the value of this Integer as a double.
  `boolean`
  `equals(java.lang.Object obj)`
  Compares this object to the specified object.
  `float`
  `floatValue()`
  Returns the value of this Integer as a float.
  `int`
  `hashCode()`
  Returns a hashcode for this Integer.
  `int`
  `intValue()`
  Returns the value of this Integer as an int.
  `long`
  `longValue()`
  Returns the value of this Integer as a long.
  `static int`
  `numberOfLeadingZeros(int i)`
  `static int`
  `parseInt(String s)`
  Parses the string argument as a signed decimal integer.
  `static int`
  `parseInt(String s, int radix)`
  Parses the string argument as a signed integer in the radix specified by the second argument.
  `short`
  `shortValue()`
  Returns the value of this Integer as a short.
  `static int`
  `signum(int i)`
  Returns the value of the `signum` function for the specified integer.
  `static String`
  `toBinaryString(int i)`
  Creates a string representation of the integer argument as an unsigned integer in base 2.
  `static String`
  `toHexString(int i)`
  Creates a string representation of the integer argument as an unsigned integer in base 16.
  `static String`
  `toOctalString(int i)`
  Creates a string representation of the integer argument as an unsigned integer in base 8.
  `String`
  `toString()`
  Returns a String object representing this Integer's value.
  `static String`
  `toString(int i)`
  Returns a new String object representing the specified integer.
  `static String`
  `toString(int i, int radix)`
  Creates a string representation of the first argument in the radix specified by the second argument.
  `static Integer`
  `valueOf(int i)`
  Returns the object instance of i
  `static Integer`
  `valueOf(String s)`
  Returns a new Integer object initialized to the value of the specified String.
  `static Integer`
  `valueOf(String s, int radix)`
  Returns a new Integer object initialized to the value of the specified String.

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

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

- ## Field Details

  - ### TYPE

    public static final java.lang.Class<Integer> TYPE

  - ### MAX_VALUE

    public static final int MAX_VALUE
    The largest value of type int. The constant value of this field is 2147483647. See Also:Constant Field Values
    See Also:
      - Constant Field Values

  - ### MIN_VALUE

    public static final int MIN_VALUE
    The smallest value of type int. The constant value of this field is -2147483648. See Also:Constant Field Values
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Integer

    public Integer(int value)
    Constructs a newly allocated Integer object that represents the primitive int argument. value - the value to be represented by the Integer.

- ## Method Details

  - ### byteValue

    public byte byteValue()
    Returns the value of this Integer as a byte.
    Overrides:
      `byteValue` in class `Number`

  - ### doubleValue

    public double doubleValue()
    Returns the value of this Integer as a double.
    Specified by:
      `doubleValue` in class `Number`

  - ### equals

    public boolean equals(java.lang.Object obj)
    Compares this object to the specified object. The result is true if and only if the argument is not null and is an Integer object that contains the same int value as this object.
    Overrides:
      `equals` in class `java.lang.Object`

  - ### floatValue

    public float floatValue()
    Returns the value of this Integer as a float.
    Specified by:
      `floatValue` in class `Number`

  - ### hashCode

    public int hashCode()
    Returns a hashcode for this Integer.
    Overrides:
      `hashCode` in class `java.lang.Object`

  - ### intValue

    public int intValue()
    Returns the value of this Integer as an int.
    Specified by:
      `intValue` in class `Number`

  - ### longValue

    public long longValue()
    Returns the value of this Integer as a long.
    Specified by:
      `longValue` in class `Number`

  - ### parseInt

    public static int parseInt(String s) throws NumberFormatException
    Parses the string argument as a signed decimal integer. The characters in the string must all be decimal digits, except that the first character may be an ASCII minus sign '-' (' u002d') to indicate a negative value. The resulting integer value is returned, exactly as if the argument and the radix 10 were given as arguments to the method.
    Throws:
      `NumberFormatException`

  - ### parseInt

    public static int parseInt(String s, int radix) throws NumberFormatException
    Parses the string argument as a signed integer in the radix specified by the second argument. The characters in the string must all be digits of the specified radix (as determined by whether returns a nonnegative value), except that the first character may be an ASCII minus sign '-' (' u002d') to indicate a negative value. The resulting integer value is returned. An exception of type NumberFormatException is thrown if any of the following situations occurs: The first argument is null or is a string of length zero. The radix is either smaller than Character.MIN_RADIX or larger than Character.MAX_RADIX. Any character of the string is not a digit of the specified radix, except that the first character may be a minus sign '-' ('u002d') provided that the string is longer than length 1. The integer value represented by the string is not a value of type int. Examples: parseInt("0", 10) returns 0 parseInt("473", 10) returns 473 parseInt("-0", 10) returns 0 parseInt("-FF", 16) returns -255 parseInt("1100110", 2) returns 102 parseInt("2147483647", 10) returns 2147483647 parseInt("-2147483648", 10) returns -2147483648 parseInt("2147483648", 10) throws a NumberFormatException parseInt("99", 8) throws a NumberFormatException parseInt("Kona", 10) throws a NumberFormatException parseInt("Kona", 27) returns 411787
    Throws:
      `NumberFormatException`

  - ### shortValue

    public short shortValue()
    Returns the value of this Integer as a short.
    Overrides:
      `shortValue` in class `Number`

  - ### toBinaryString

    public static String toBinaryString(int i)
    Creates a string representation of the integer argument as an unsigned integer in base 2. The unsigned integer value is the argument plus 232if the argument is negative; otherwise it is equal to the argument. This value is converted to a string of ASCII digits in binary (base2) with no extra leading 0s. If the unsigned magnitude is zero, it is represented by a single zero character '0' ('u0030'); otherwise, the first character of the representation of the unsigned magnitude will not be the zero character. The characters '0' ('u0030') and '1' ('u0031') are used as binary digits.

  - ### toHexString

    public static String toHexString(int i)
    Creates a string representation of the integer argument as an unsigned integer in base 16. The unsigned integer value is the argument plus 232 if the argument is negative; otherwise, it is equal to the argument. This value is converted to a string of ASCII digits in hexadecimal (base16) with no extra leading 0s. If the unsigned magnitude is zero, it is represented by a single zero character '0' ('u0030'); otherwise, the first character of the representation of the unsigned magnitude will not be the zero character. The following characters are used as hexadecimal digits: 0123456789abcdef These are the characters ' u0030' through ' u0039' and 'u\0039' through ' u0066'.

  - ### toOctalString

    public static String toOctalString(int i)
    Creates a string representation of the integer argument as an unsigned integer in base 8. The unsigned integer value is the argument plus 232 if the argument is negative; otherwise, it is equal to the argument. This value is converted to a string of ASCII digits in octal (base8) with no extra leading 0s. If the unsigned magnitude is zero, it is represented by a single zero character '0' ('u0030'); otherwise, the first character of the representation of the unsigned magnitude will not be the zero character. The octal digits are: 01234567 These are the characters ' u0030' through ' u0037'.

  - ### toString

    public String toString()
    Returns a String object representing this Integer's value. The value is converted to signed decimal representation and returned as a string, exactly as if the integer value were given as an argument to the method.
    Overrides:
      `toString` in class `java.lang.Object`

  - ### toString

    public static String toString(int i)
    Returns a new String object representing the specified integer. The argument is converted to signed decimal representation and returned as a string, exactly as if the argument and radix 10 were given as arguments to the method.

  - ### toString

    public static String toString(int i, int radix)
    Creates a string representation of the first argument in the radix specified by the second argument. If the radix is smaller than Character.MIN_RADIX or larger than Character.MAX_RADIX, then the radix 10 is used instead. If the first argument is negative, the first element of the result is the ASCII minus character '-' ('u002d'). If the first argument is not negative, no sign character appears in the result. The remaining characters of the result represent the magnitude of the first argument. If the magnitude is zero, it is represented by a single zero character '0' ('u0030'); otherwise, the first character of the representation of the magnitude will not be the zero character. The following ASCII characters are used as digits: 0123456789abcdefghijklmnopqrstuvwxyz These are ' u0030' through ' u0039' and ' u0061' through ' u007a'. If the radix is N, then the first N of these characters are used as radix-N digits in the order shown. Thus, the digits for hexadecimal (radix 16) are 0123456789abcdef.

  - ### valueOf

    public static Integer valueOf(String s) throws NumberFormatException
    Returns a new Integer object initialized to the value of the specified String. The argument is interpreted as representing a signed decimal integer, exactly as if the argument were given to the method. The result is an Integer object that represents the integer value specified by the string. In other words, this method returns an Integer object equal to the value of: new Integer(Integer.parseInt(s))
    Throws:
      `NumberFormatException`

  - ### valueOf

    public static Integer valueOf(String s, int radix) throws NumberFormatException
    Returns a new Integer object initialized to the value of the specified String. The first argument is interpreted as representing a signed integer in the radix specified by the second argument, exactly as if the arguments were given to the method. The result is an Integer object that represents the integer value specified by the string. In other words, this method returns an Integer object equal to the value of: new Integer(Integer.parseInt(s, radix))
    Throws:
      `NumberFormatException`

  - ### valueOf

    public static Integer valueOf(int i)

    Returns the object instance of i

    ###### Parameters

    - `i`: the primitive

    ###### Returns

    object instance

  - ### signum

    public static int signum(int i)

    Returns the value of the `signum` function for the specified integer.

    ###### Parameters

    - `i`: the integer value to check.

    ###### Returns

    Returns:

      -1 if `i` is negative, 1 if `i` is positive, 0 if `i` is zero.

      ###### Since

      1.5

  - ### compare

    public static int compare(int i1, int i2)

  - ### compareTo

    public int compareTo(Integer i)
    Description copied from interface: `Comparable`

    Compares this object to the specified object to determine their relative order.

    ###### Parameters

    - `another`: the object to compare to this instance.

    ###### Returns

    Specified by:
      `compareTo` in interface `Comparable<Integer>`
    Returns:

      a negative integer if this instance is less than `another`; a positive integer if this instance is greater than `another`; 0 if this instance has the same order as `another`.

      ###### Throws

      - `ClassCastException`: @throws ClassCastException if `another` cannot be converted into something comparable to `this` instance.

  - ### numberOfLeadingZeros

    public static int numberOfLeadingZeros(int i)