java.lang

Class Long

Implemented Interfaces:
Comparable<T>, Serializable

public final class Long
extends Number
implements Comparable<T>

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.
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, extends Object> getClass, finalize, 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

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

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

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

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

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

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

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

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

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, 2004, 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.