java.lang

Class Long

Implemented Interfaces:
Comparable, Serializable

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

See Also:
Serialized Form

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(String s)
Create a Long object representing the value of the argument after conversion to a long.
Long(long value)
Create a Long object representing the value of the long argument.

Method Summary

static int
bitCount(long x)
Return the number of bits set in x.
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.
static Long
getLong(String nm)
Get the specified system property as a Long.
static Long
getLong(String nm, Long def)
Get the specified system property as a Long, or use a default Long value if the property is not found or is not decodable.
static Long
getLong(String nm, long val)
Get the specified system property as a Long, or use a default long value if the property is not found or is not decodable.
int
hashCode()
Return a hashcode representing this Object.
static long
highestOneBit(long value)
Find the highest set bit in value, and return a new value with only that bit set.
int
intValue()
Return the value of this Long as an int.
long
longValue()
Return the value of this Long.
static long
lowestOneBit(long value)
Find the lowest set bit in value, and return a new value with only that bit set.
static int
numberOfLeadingZeros(long value)
Return the number of leading zeros in value.
static int
numberOfTrailingZeros(long value)
Find the number of trailing zeros in value.
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).
static long
reverse(long val)
Reverse the bits in val.
static long
reverseBytes(long val)
Reverse the bytes in val.
static long
rotateLeft(long x, int distance)
Rotate x to the left by distance bits.
static long
rotateRight(long x, int distance)
Rotate x to the right by distance bits.
short
shortValue()
Return the value of this Long as a short.
static int
signum(long x)
Return 1 if x is positive, -1 if it is negative, and 0 if it is zero.
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(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).
static Long
valueOf(long val)
Returns a Long object wrapping the value.

Methods inherited from class java.lang.Number

byteValue, doubleValue, floatValue, intValue, longValue, shortValue

Methods inherited from class java.lang.Object

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

Field Details

MAX_VALUE

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

Field Value:
9223372036854775807L


MIN_VALUE

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

Field Value:
-9223372036854775808L


SIZE

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

Field Value:
64

Since:
1.5


TYPE

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

Since:
1.1

Constructor Details

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)


Long

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

Parameters:
value - the value to use

Method Details

bitCount

public static int bitCount(long x)
Return the number of bits set in x.

Parameters:
x - value to examine

Since:
1.5


byteValue

public byte byteValue()
Return the value of this Long as a byte.
Overrides:
byteValue in interface Number

Returns:
the byte value


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


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


doubleValue

public double doubleValue()
Return the value of this Long as a double.
Overrides:
doubleValue in interface Number

Returns:
the double value


equals

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

Parameters:
obj - the object to compare

Returns:
whether these Objects are semantically equal


floatValue

public float floatValue()
Return the value of this Long as a float.
Overrides:
floatValue in interface Number

Returns:
the float value


getLong

public static Long getLong(String nm)
Get the specified system property as a Long. The decode() method will be used to interpret the value of the property.

Parameters:
nm - the name of the system property

Returns:
the system property as a Long, or null if the property is not found or cannot be decoded

Throws:
SecurityException - if accessing the system property is forbidden

See Also:
System.getProperty(String), decode(String)


getLong

public static Long getLong(String nm,
                           Long def)
Get the specified system property as a Long, or use a default Long value if the property is not found or is not decodable. The decode() method will be used to interpret the value of the property.

Parameters:
nm - the name of the system property
def - the default value

Returns:
the value of the system property, or the default

Throws:
SecurityException - if accessing the system property is forbidden

See Also:
System.getProperty(String), decode(String)


getLong

public static Long getLong(String nm,
                           long val)
Get the specified system property as a Long, or use a default long value if the property is not found or is not decodable. The decode() method will be used to interpret the value of the property.

Parameters:
nm - the name of the system property
val - the default value

Returns:
the value of the system property, or the default

Throws:
SecurityException - if accessing the system property is forbidden

See Also:
System.getProperty(String), decode(String)


hashCode

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

Returns:
this Object's hash code


highestOneBit

public static long highestOneBit(long value)
Find the highest set bit in value, and return a new value with only that bit set.

Parameters:
value - the value to examine

Since:
1.5


intValue

public int intValue()
Return the value of this Long as an int.
Overrides:
intValue in interface Number

Returns:
the int value


longValue

public long longValue()
Return the value of this Long.
Overrides:
longValue in interface Number

Returns:
the long value


lowestOneBit

public static long lowestOneBit(long value)
Find the lowest set bit in value, and return a new value with only that bit set.

Parameters:
value - the value to examine

Since:
1.5


numberOfLeadingZeros

public static int numberOfLeadingZeros(long value)
Return the number of leading zeros in value.

Parameters:
value - the value to examine

Since:
1.5


numberOfTrailingZeros

public static int numberOfTrailingZeros(long value)
Find the number of trailing zeros in value.

Parameters:
value - the value to examine

Since:
1.5


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)


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


reverse

public static long reverse(long val)
Reverse the bits in val.

Since:
1.5


reverseBytes

public static long reverseBytes(long val)
Reverse the bytes in val.

Since:
1.5


rotateLeft

public static long rotateLeft(long x,
                              int distance)
Rotate x to the left by distance bits.

Parameters:
x - the value to rotate
distance - the number of bits by which to rotate

Since:
1.5


rotateRight

public static long rotateRight(long x,
                               int distance)
Rotate x to the right by distance bits.

Parameters:
x - the value to rotate
distance - the number of bits by which to rotate

Since:
1.5


shortValue

public short shortValue()
Return the value of this Long as a short.
Overrides:
shortValue in interface Number

Returns:
the short value


signum

public static int signum(long x)
Return 1 if x is positive, -1 if it is negative, and 0 if it is zero.

Parameters:
x - the value to examine

Since:
1.5


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


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


toString

public String toString()
Converts the Long value to a String and assumes a radix of 10.
Overrides:
toString in interface Object

Returns:
the String representation


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)


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


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(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(long val)
Returns a Long object wrapping the value.

Parameters:
val - the value to wrap

Returns:
the Long

Since:
1.5


Long.java -- object wrapper for long Copyright (C) 1998, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.