java.lang
Class Long

java.lang.Object
  extended by java.lang.Number
      extended by java.lang.Long
All Implemented Interfaces:
Comparable

public final class Long
extends Number
implements Comparable

Instances of class Long represent primitive long values. Additionally, this class provides various helper functions and variables related to longs.

Since:
1.0

Field Summary
static long MAX_VALUE
          The maximum value a long can represent is 9223372036854775807 (or 263 - 1).
static long MIN_VALUE
          The minimum value a long can represent is -9223372036854775808L (or -263).
static int SIZE
          The number of bits needed to represent a long.
static Class TYPE
          The primitive type long is represented by this Class object.
 
Constructor Summary
Long(long value)
          Create a Long object representing the value of the long argument.
Long(String s)
          Create a Long object representing the value of the argument after conversion to a long.
 
Method Summary
 byte byteValue()
          Return the value of this Long as a byte.
 int compareTo(Long l)
          Compare two Longs numerically by comparing their long values.
 int compareTo(Object o)
          Behaves like compareTo(Long) unless the Object is not a Long.
static Long decode(String str)
          Convert the specified String into a Long.
 double doubleValue()
          Return the value of this Long as a double.
 boolean equals(Object obj)
          Returns true if obj is an instance of Long and represents the same long value.
 float floatValue()
          Return the value of this Long as a float.
 int hashCode()
          Return a hashcode representing this Object.
 int intValue()
          Return the value of this Long as an int.
 long longValue()
          Return the value of this Long.
static long parseLong(String s)
          Converts the specified String into a long.
static long parseLong(String str, int radix)
          Converts the specified String into an int using the specified radix (base).
 short shortValue()
          Return the value of this Long as a short.
static String toBinaryString(long l)
          Converts the long to a String assuming it is unsigned in base 2.
static String toHexString(long l)
          Converts the long to a String assuming it is unsigned in base 16.
static String toOctalString(long l)
          Converts the long to a String assuming it is unsigned in base 8.
 String toString()
          Converts the Long value to a String and assumes a radix of 10.
static String toString(long num)
          Converts the long to a String and assumes a radix of 10.
static String toString(long num, int radix)
          Converts the long to a String using the specified radix (base).
static Long valueOf(long val)
          Returns a Long object wrapping the value.
static Long valueOf(String s)
          Creates a new Long object using the String, assuming a radix of 10.
static Long valueOf(String s, int radix)
          Creates a new Long object using the String and specified radix (base).
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

MIN_VALUE

public static final long MIN_VALUE
The minimum value a long can represent is -9223372036854775808L (or -263).

See Also:
Constant Field Values

MAX_VALUE

public static final long MAX_VALUE
The maximum value a long can represent is 9223372036854775807 (or 263 - 1).

See Also:
Constant Field Values

TYPE

public static final Class TYPE
The primitive type long is represented by this Class object.

Since:
1.1

SIZE

public static final int SIZE
The number of bits needed to represent a long.

Since:
1.5
See Also:
Constant Field Values
Constructor Detail

Long

public Long(long value)
Create a Long object representing the value of the long argument.

Parameters:
value - the value to use

Long

public Long(String s)
Create a Long object representing the value of the argument after conversion to a long.

Parameters:
s - the string to convert
Throws:
NumberFormatException - if the String does not contain a long
See Also:
valueOf(String)
Method Detail

toString

public static String toString(long num,
                              int radix)
Converts the long to a String using the specified radix (base). If the radix exceeds Character.MIN_RADIX or Character.MAX_RADIX, 10 is used instead. If the result is negative, the leading character is '-' ('\\u002D'). The remaining characters come from Character.forDigit(digit, radix) ('0'-'9','a'-'z').

Parameters:
num - the long to convert to String
radix - the radix (base) to use in the conversion
Returns:
the String representation of the argument

toHexString

public static String toHexString(long l)
Converts the long to a String assuming it is unsigned in base 16.

Parameters:
l - the long to convert to String
Returns:
the String representation of the argument

toOctalString

public static String toOctalString(long l)
Converts the long to a String assuming it is unsigned in base 8.

Parameters:
l - the long to convert to String
Returns:
the String representation of the argument

toBinaryString

public static String toBinaryString(long l)
Converts the long to a String assuming it is unsigned in base 2.

Parameters:
l - the long to convert to String
Returns:
the String representation of the argument

toString

public static String toString(long num)
Converts the long to a String and assumes a radix of 10.

Parameters:
num - the long to convert to String
Returns:
the String representation of the argument
See Also:
toString(long, int)

parseLong

public static long parseLong(String str,
                             int radix)
Converts the specified String into an int using the specified radix (base). The string must not be null or empty. It may begin with an optional '-', which will negate the answer, provided that there are also valid digits. Each digit is parsed as if by Character.digit(d, radix), and must be in the range 0 to radix - 1. Finally, the result must be within MIN_VALUE to MAX_VALUE, inclusive. Unlike Double.parseDouble, you may not have a leading '+'; and 'l' or 'L' as the last character is only valid in radices 22 or greater, where it is a digit and not a type indicator.

Parameters:
str - the String to convert
radix - the radix (base) to use in the conversion
Returns:
the String argument converted to long
Throws:
NumberFormatException - if s cannot be parsed as a long

parseLong

public static long parseLong(String s)
Converts the specified String into a long. This function assumes a radix of 10.

Parameters:
s - the String to convert
Returns:
the int value of s
Throws:
NumberFormatException - if s cannot be parsed as a long
See Also:
parseLong(String, int)

valueOf

public static Long valueOf(String s,
                           int radix)
Creates a new Long object using the String and specified radix (base).

Parameters:
s - the String to convert
radix - the radix (base) to convert with
Returns:
the new Long
Throws:
NumberFormatException - if s cannot be parsed as a long
See Also:
parseLong(String, int)

valueOf

public static Long valueOf(String s)
Creates a new Long object using the String, assuming a radix of 10.

Parameters:
s - the String to convert
Returns:
the new Long
Throws:
NumberFormatException - if s cannot be parsed as a long
See Also:
Long(String), parseLong(String)

valueOf

public static Long valueOf(long val)
Returns a Long object wrapping the value.

Parameters:
val - the value to wrap
Returns:
the Long
Since:
1.5

decode

public static Long decode(String str)
Convert the specified String into a Long. The String may represent decimal, hexadecimal, or octal numbers.

The extended BNF grammar is as follows:

 DecodableString:
      ( [ - ] DecimalNumber )
    | ( [ - ] ( 0x | 0X
              | # ) HexDigit { HexDigit } )
    | ( [ - ] 0 { OctalDigit } )
 DecimalNumber:
        DecimalDigit except '0' { DecimalDigit }
 DecimalDigit:
        Character.digit(d, 10) has value 0 to 9
 OctalDigit:
        Character.digit(d, 8) has value 0 to 7
 DecimalDigit:
        Character.digit(d, 16) has value 0 to 15
 
Finally, the value must be in the range MIN_VALUE to MAX_VALUE, or an exception is thrown. Note that you cannot use a trailing 'l' or 'L', unlike in Java source code.

Parameters:
str - the String to interpret
Returns:
the value of the String as a Long
Throws:
NumberFormatException - if s cannot be parsed as a long
NullPointerException - if s is null
Since:
1.2

byteValue

public byte byteValue()
Return the value of this Long as a byte.

Overrides:
byteValue in class Number
Returns:
the byte value

shortValue

public short shortValue()
Return the value of this Long as a short.

Overrides:
shortValue in class Number
Returns:
the short value

intValue

public int intValue()
Return the value of this Long as an int.

Specified by:
intValue in class Number
Returns:
the int value

longValue

public long longValue()
Return the value of this Long.

Specified by:
longValue in class Number
Returns:
the long value

floatValue

public float floatValue()
Return the value of this Long as a float.

Specified by:
floatValue in class Number
Returns:
the float value

doubleValue

public double doubleValue()
Return the value of this Long as a double.

Specified by:
doubleValue in class Number
Returns:
the double value

toString

public String toString()
Converts the Long value to a String and assumes a radix of 10.

Overrides:
toString in class Object
Returns:
the String representation
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)

hashCode

public int hashCode()
Return a hashcode representing this Object. Long's hash code is calculated by (int) (value ^ (value >> 32)).

Overrides:
hashCode in class Object
Returns:
this Object's hash code
See Also:
Object.equals(Object), System.identityHashCode(Object)

equals

public boolean equals(Object obj)
Returns true if obj is an instance of Long and represents the same long value.

Overrides:
equals in class Object
Parameters:
obj - the object to compare
Returns:
whether these Objects are semantically equal
See Also:
Object.hashCode()

compareTo

public int compareTo(Long l)
Compare two Longs numerically by comparing their long values. The result is positive if the first is greater, negative if the second is greater, and 0 if the two are equal.

Parameters:
l - the Long to compare
Returns:
the comparison
Since:
1.2

compareTo

public int compareTo(Object o)
Behaves like compareTo(Long) unless the Object is not a Long.

Specified by:
compareTo in interface Comparable
Parameters:
o - the object to compare
Returns:
the comparison
Throws:
ClassCastException - if the argument is not a Long
Since:
1.2
See Also:
compareTo(Long), Comparable