# Class Long

java.lang.Object
java.lang.Number
java.lang.Long

All Implemented Interfaces:
  `Comparable<Long>`

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

- ## Field Summary

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

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `byte`
  `byteValue()`
  Returns the value of this Long as a byte value.
  `static int`
  `compare(long l1, long l2)`
  `int`
  `compareTo(Long l)`
  Compares this object to the specified object to determine their relative order.
  `double`
  `doubleValue()`
  Returns the value of this Long as a double.
  `boolean`
  `equals(Object obj)`
  Compares this object against the specified object.
  `float`
  `floatValue()`
  Returns the value of this Long as a float.
  `int`
  `hashCode()`
  Computes a hashcode for this Long.
  `int`
  `intValue()`
  Returns the value of this Long as an int value.
  `long`
  `longValue()`
  Returns the value of this Long as a long value.
  `static long`
  `parseLong(String s)`
  Parses the string argument as a signed decimal long.
  `static long`
  `parseLong(String s, int radix)`
  Parses the string argument as a signed long in the radix specified by the second argument.
  `String`
  `toString()`
  Returns a String object representing this Long's value.
  `static String`
  `toString(long i)`
  Returns a new String object representing the specified integer.
  `static String`
  `toString(long i, int radix)`
  Creates a string representation of the first argument in the radix specified by the second argument.
  `static Long`
  `valueOf(long i)`
  Returns the object instance of i

  ### Methods inherited from class Number

  `shortValue`

  ### Methods inherited from class Object

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

- ## Field Details

  - ### TYPE

    public static java.lang.Class<Long> TYPE

  - ### MAX_VALUE

    public static final long MAX_VALUE
    The largest value of type long. See Also:Constant Field Values
    See Also:
      - Constant Field Values

  - ### MIN_VALUE

    public static final long MIN_VALUE
    The smallest value of type long. See Also:Constant Field Values
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Long

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

- ## Method Details

  - ### doubleValue

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

  - ### equals

    public boolean equals(Object obj)
    Compares this object against the specified object. The result is true if and only if the argument is not null and is a Long object that contains the same long value as this object.
    Overrides:
      `equals` in class `Object`

  - ### floatValue

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

  - ### hashCode

    public int hashCode()
    Computes a hashcode for this Long. The result is the exclusive OR of the two halves of the primitive long value represented by this Long object. That is, the hashcode is the value of the expression: (int)(this.longValue()^(this.longValue()>>>32))
    Overrides:
      `hashCode` in class `Object`

  - ### longValue

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

  - ### intValue

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

  - ### byteValue

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

  - ### parseLong

    public static long parseLong(String s) throws NumberFormatException
    Parses the string argument as a signed decimal long. 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 long value is returned, exactly as if the argument and the radix 10 were given as arguments to the method that takes two arguments. Note that neither L nor l is permitted to appear at the end of the string as a type indicator, as would be permitted in Java programming language source code.
    Throws:
      `NumberFormatException`

  - ### parseLong

    public static long parseLong(String s, int radix) throws NumberFormatException
    Parses the string argument as a signed long 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 Character.digit returns a nonnegative value), except that the first character may be an ASCII minus sign '-' (' u002d' to indicate a negative value. The resulting long value is returned. Note that neither L nor l is permitted to appear at the end of the string as a type indicator, as would be permitted in Java programming language source code - except that either L or l may appear as a digit for a radix greater than 22. 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. The first character of the string is not a digit of the specified radix and is not a minus sign '-' ('u002d'). The first character of the string is a minus sign and the string is of length 1. Any character of the string after the first is not a digit of the specified radix. The integer value represented by the string cannot be represented as a value of type long. Examples: parseLong("0", 10) returns 0L parseLong("473", 10) returns 473L parseLong("-0", 10) returns 0L parseLong("-FF", 16) returns -255L parseLong("1100110", 2) returns 102L parseLong("99", 8) throws a NumberFormatException parseLong("Hazelnut", 10) throws a NumberFormatException parseLong("Hazelnut", 36) returns 1356099454469L
    Throws:
      `NumberFormatException`

  - ### toString

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

  - ### toString

    public static String toString(long 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 the radix 10 were given as arguments to the method that takes two arguments.

  - ### toString

    public static String toString(long 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 sign '-' ('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 Long valueOf(long i)

    Returns the object instance of i

    ###### Parameters

    - `i`: the primitive

    ###### Returns

    object instance

  - ### compare

    public static int compare(long l1, long l2)

  - ### compareTo

    public int compareTo(Long l)
    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<Long>`
    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.