|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.lang.Number java.lang.Long
public final class Long
Long
類別在物件中包裹了基本型別 long
的值。每個 Long
型別的物件都包含一個 long
型別的欄位。
此外,該類別提供了多個方法,可以將 long
轉換為 String
,將 String
轉換為 long
,除此之外,還提供了其他一些處理 long
時有用的常數和方法。
實作注意事項:"bit twiddling" 方法(如 highestOneBit
和 numberOfTrailingZeros
)的實作基於 Henry S. Warren 和 Jr. 撰寫的 Hacker's Delight (Addison Wesley, 2002) 一書中的資料。
欄位摘要 | |
---|---|
static long |
MAX_VALUE
保持 long 型別的最大值的常數,該值為 263-1。 |
static long |
MIN_VALUE
保持 long 型別的最小值的常數,該值為 -263。 |
static int |
SIZE
用來以二進制補碼形式表示 long 值的位數。 |
static Class<Long> |
TYPE
表示基本型別 long 的 Class 實例。 |
建構子摘要 | |
---|---|
Long(long value)
建構新分派的 Long 物件,表示指定的 long 參數。 |
|
Long(String s)
建構新分派的 Long 物件,表示由 String 參數指示的 long 值。 |
方法摘要 | |
---|---|
static int |
bitCount(long i)
返回指定 long 值的二進制補碼表示形式中的 1 位的數量。 |
byte |
byteValue()
以 byte 形式返回此 Long 的值。 |
int |
compareTo(Long anotherLong)
在數字上比較兩個 Long 物件。 |
static Long |
decode(String nm)
將 String 解碼成 Long 。 |
double |
doubleValue()
以 double 形式返回此 Long 的值。 |
boolean |
equals(Object obj)
將此物件與指定物件進行比較。 |
float |
floatValue()
以 float 形式返回此 Long 的值。 |
static Long |
getLong(String nm)
確定具有指定名稱的系統屬性的 long 值。 |
static Long |
getLong(String nm,
long val)
使用指定名稱確定系統屬性的 long 值。 |
static Long |
getLong(String nm,
Long val)
使用指定名稱返回系統屬性的 long 值。 |
int |
hashCode()
返回 Long 的雜湊碼。 |
static long |
highestOneBit(long i)
返回至多有一個 1 位的 long 值,在指定的 long 值中最高位(最左邊)的 1 位的位置。 |
int |
intValue()
以 int 形式返回此 Long 的值。 |
long |
longValue()
以 long 值的形式返回此 Long 的值。 |
static long |
lowestOneBit(long i)
返回至多有一個 1 位的 long 值,在指定的 long 值中最低位(最右邊)的 1 位的位置。 |
static int |
numberOfLeadingZeros(long i)
在指定 long 值的二進制補碼表示形式中最高位(最左邊)的 1 位之前,返回零位的數量。 |
static int |
numberOfTrailingZeros(long i)
返回在指定 long 值的二進制補碼表示形式中最低位(最右邊)的 1 位之後的零位的數量。 |
static long |
parseLong(String s)
將 string 參數解析為有符號十進制 long 。 |
static long |
parseLong(String s,
int radix)
將 string 參數解析為有符號的 long ,進制由第二個參數指定。 |
static long |
reverse(long i)
返回通過反轉指定 long 值的二進制補碼表示形式中位的順序而獲得的值。 |
static long |
reverseBytes(long i)
返回通過反轉指定 long 值的二進制補碼表示形式中位元組的順序而獲得的值。 |
static long |
rotateLeft(long i,
int distance)
返回根據指定的位數循環左移指定的 long 值的二進制補碼表示形式而得到的值。 |
static long |
rotateRight(long i,
int distance)
返回根據指定的位數循環右移指定的 long 值的二進制補碼表示形式而得到的值。 |
short |
shortValue()
以 short 形式返回此 Long 的值。 |
static int |
signum(long i)
返回指定 long 值的符號函數。 |
static String |
toBinaryString(long i)
以二進制無符號整數形式返回 long 參數的字元串表示形式。 |
static String |
toHexString(long i)
以十六進制無符號整數形式返回 long 參數的字元串表示形式。 |
static String |
toOctalString(long i)
以八進制無符號整數形式返回 long 參數的字元串表示形式。 |
String |
toString()
返回表示 Long 值的 String 物件。 |
static String |
toString(long i)
返回表示指定 long 的 String 物件。 |
static String |
toString(long i,
int radix)
返回在使用第二個參數指定的進制時第一個參數的字元串表示形式。 |
static Long |
valueOf(long l)
返回表示指定 long 值的 Long 實例。 |
static Long |
valueOf(String s)
返回保持指定 String 的值的 Long 物件。 |
static Long |
valueOf(String s,
int radix)
當使用第二個參數給出的進制進行解析時,返回保持從指定 String 中提取的值的 Long 物件。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
欄位詳細資訊 |
---|
public static final long MIN_VALUE
long
型別的最小值的常數,該值為 -263。
public static final long MAX_VALUE
long
型別的最大值的常數,該值為 263-1。
public static final Class<Long> TYPE
long
的 Class
實例。
public static final int SIZE
建構子詳細資訊 |
---|
public Long(long value)
Long
物件,表示指定的 long
參數。
value
- Long
物件表示的值。public Long(String s) throws NumberFormatException
Long
物件,表示由 String
參數指示的 long
值。該字元串被轉換為 long
值,其方式與 radix 參數為 10 的 parseLong
方法所使用的方式一致。
s
- 要轉換為 Long
的 String
。
NumberFormatException
- 如果 String
不包含可解析的 long
。parseLong(java.lang.String, int)
方法詳細資訊 |
---|
public static String toString(long i, int radix)
如果該進制小於 Character.MIN_RADIX
,或大於 Character.MAX_RADIX
,則使用進制 10
。
如果第一個參數是負數,則結果的第一個元素是 ASCII 字元的減號 '-'
('\u002d'
)。如果第一個參數非負,則結果中不會出現符號字元。
結果的其餘字元表示第一個參數的大小。如果大小為零,則用單個零字元 '0'
表示它 ('\u0030'
);否則大小表示形式中的第一個字元將不是零字元。以下 ASCII 字元均被用作數字:
這些是從0123456789abcdefghijklmnopqrstuvwxyz
'\u0030'
到 '\u0039'
和從 '\u0061'
到 '\u007a'
的字元。如果 radix
是 N,則這些字元的第一個 N 用作顯示順序中進制 N 的數字。因此,該數字的十六進制(進制 16)表示形式為 0123456789abcdef
。如果需要使用大寫字母,則可以在結果上調用 String.toUpperCase()
方法:
Long.toString(n, 16).toUpperCase()
i
- 要轉換為字元串的 long
。radix
- 將在字元串表示形式中使用的進制。
Character.MAX_RADIX
,
Character.MIN_RADIX
public static String toHexString(long i)
long
參數的字元串表示形式。
如果參數為負,則無符號 long
值為該參數加上 264;否則,它等於該參數。此值將被轉換為不帶附加前導 0
的十六進制(進制 16)ASCII 數字字元串。如果無符號大小為零,則該數字由單個零字元 '0'
表示 ('\u0030'
);否則,無符號大小表示形式中的第一個字元將不是零字元。下列字元都被用作十六進制數字:
這些是從0123456789abcdef
'\u0030'
到 '\u0039'
和從 '\u0061'
到 '\u0066'
的字元。如果需要使用大寫字母,則可以在結果上調用 String.toUpperCase()
方法:
Long.toHexString(n).toUpperCase()
i
- 要轉換為字元串的 long
。
long
值的字元串表示形式。public static String toOctalString(long i)
long
參數的字元串表示形式。
如果參數為負,則無符號 long
值為該參數加上 264;否則,它等於該參數。此值將被轉換為不帶附加前導 0
的八進制(進制 8)ASCII 數字字元串。
如果無符號大小為零,則該數字用單個零字元 '0'
('\u0030'
) 表示,否則無符號大小表示形式中的第一個字元將不是零字元。以下字元都用作八進制數字:
這些是從01234567
'\u0030'
到 '\u0037'
的字元。
i
- 要轉換為字元串的 long
。
long
值的字元串表示形式。public static String toBinaryString(long i)
long
參數的字元串表示形式。
如果參數為負數,則無符號 long
值為該參數加上 264;否則,它等於該參數。此值將被轉換為不帶附加前導 0
的二進制(進制 2)ASCII 數字字元串。如果無符號大小為零,則用單個零字元 '0'
表示它 ('\u0030'
);否則,無符號大小表示形式中的第一個字元將不是零字元。字元 '0'
('\u0030'
) 和 '1'
('\u0031'
) 被用作二進制位。
i
- 要轉換為字元串的 long
。
long
值的字元串表示形式。public static String toString(long i)
long
的 String
物件。該參數被轉換為有符號的十進製表示形式,並作為字元串返回,該字元串與用該參數和進制 10 作為參數的 toString(long, int)
方法所得到的值非常相似。
i
- 要轉換的 long
。
public static long parseLong(String s, int radix) throws NumberFormatException
long
,進制由第二個參數指定。字元串中的字元必須為指定進制中的數字(由 Character.digit(char, int)
是否返回一個非負值來確定),除非第一個字元為 ASCII 字元的減號 '-'
('\u002D'
),它表示一個負值。返回得到的 long
值。
注意,不允許將字元 L
('\u004C'
) 和 l
('\u006C'
) 作為型別指示符出現在字元串的結尾處,而這一點在 Java 程式語言源程式碼中是允許的——除非 L
或 l
以大於 22 的進制形式出現。
如果出現以下情形之一,則拋出 NumberFormatException
型別的異常:
null
或零長度的字元串。
radix
小於 Character.MIN_RADIX
或者大於 Character.MAX_RADIX
。
'-'
('\u002d'
),假定字元串的長度大於 1。
long
型別的值。
範例:
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) returns NumberFormatException parseLong("Hazelnut", 10) returns NumberFormatException parseLong("Hazelnut", 36) returns 1356099454469L
s
- 套件含要解析的 long
表示形式的 String
。radix
- 將在解析 s
時使用的進制。
long
。
NumberFormatException
- 如果字元串不包含可解析的 long
。public static long parseLong(String s) throws NumberFormatException
long
。字元串中的字元必須都是十進制數字,除非第一個字元是 ASCII 字元的減號 '-'
(\u002D'
),它表示一個負值。返回得到的 long
值,該值與用該參數和進制 10
作為參數的 parseLong(java.lang.String, int)
方法得到的值非常相似。
注意,不允許將字元 L
('\u004C'
) 和 l
('\u006C'
) 作為型別指示符出現在字元串的結尾處,這一點在 Java 程式語言源程式碼中是允許的。
s
- 套件含要解析的 long
表示形式的 String
long
。
NumberFormatException
- 如果字元串不包含可解析的 long
。public static Long valueOf(String s, int radix) throws NumberFormatException
String
中提取的值的 Long
物件。第一個參數被解釋為有符號的 long
,進制由第二個參數指定,該值與用該參數作為參數的 parseLong(java.lang.String, int)
方法得到的值非常類似。結果是表示字元串指定的 long
值的 Long
物件。
換句話說,此方法返回一個 Long
物件,它的值等於:
new Long(Long.parseLong(s, radix))
s
- 要解析的字元串radix
- 將在解釋 s
時使用的進制
Long
物件。
NumberFormatException
- 如果 String
不包含可解析的 long
。public static Long valueOf(String s) throws NumberFormatException
String
的值的 Long
物件。該參數被解釋為表示一個有符號的十進制 long
,該值與用該參數作為參數的 parseLong(java.lang.String)
方法得到的值非常相似。結果是表示由字元串指定的整數值的 Long
物件。
換句話說,此方法返回一個 Long
物件,它的值等於:
new Long(Long.parseLong(s))
s
- 要解析的字元串。
Long
物件。
NumberFormatException
- 如果不能將字元串解析為 long
。public static Long valueOf(long l)
Long(long)
,因為此方法通過快取記憶體頻繁請求的值,可以顯著提高時間和空間性能。
l
- long 值。
public static Long decode(String nm) throws NumberFormatException
String
解碼成 Long
。接受通過以下語法給出的十進制、十六進制和八進制數:
DecimalNumeral、HexDigits 和 OctalDigits 在 Java Language Specification 中的§3.10.1 中已經定義。
- DecodableString:
- Signopt DecimalNumeral
- Signopt
0x
HexDigits- Signopt
0X
HexDigits- Signopt
#
HexDigits- Signopt
0
OctalDigits
- Sign:
-
跟在(可選)負號和/或進制說明符("0x
"、"0X
"、"#
" 或前導零)後面的字元的順序由 Long.parseLong
方法通過指示的進制(10、16 或 8)來解析。字元的順序必須表示為一個正值,否則將拋出 NumberFormatException
。如果指定 String
的第一個字元是減號,則結果無效。String
中不允許出現空白字元。
nm
- 要解碼的 String
。
nm
表示的 long
值的 Long
物件
NumberFormatException
- 如果 String
不包含可解析的 long
。parseLong(String, int)
public byte byteValue()
byte
形式返回此 Long
的值。
Number
中的 byteValue
byte
型別後該物件表示的數值。public short shortValue()
short
形式返回此 Long
的值。
Number
中的 shortValue
short
型別後該物件表示的數值。public int intValue()
int
形式返回此 Long
的值。
Number
中的 intValue
int
型別後該物件表示的數值。public long longValue()
long
值的形式返回此 Long
的值。
Number
中的 longValue
long
型別後該物件表示的數值。public float floatValue()
float
形式返回此 Long
的值。
Number
中的 floatValue
float
型別後該物件表示的數值。public double doubleValue()
double
形式返回此 Long
的值。
Number
中的 doubleValue
double
型別後該物件表示的數值。public String toString()
Long
值的 String
物件。該值被轉換為有符號十進製表示形式,並作為字元串返回,該字元串與用 long
值作為參數的 toString(long)
方法得到的字元串非常相似。
Object
中的 toString
public int hashCode()
Long
的雜湊碼。結果是此 Long
物件保持的基本 long
值的兩個部分的異或 (XOR)。也就是說,雜湊碼就是表達式的值:
(int)(this.longValue()^(this.longValue()>>>32))
Object
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
null
,且 Long
物件與此物件包含相同的 long
值時,結果才為 true
。
Object
中的 equals
obj
- 要與之進行比較的物件。
true
;否則,返回 false
。Object.hashCode()
,
Hashtable
public static Long getLong(String nm)
long
值。
第一個參數被視為系統屬性的名稱。通過 System.getProperty(java.lang.String)
方法可以存取該系統屬性。然後,以 long
值的形式解釋此屬性的字元串值,並返回表示此值的 Long
物件。在 getProperty
的定義中可以找到可能的數字格式的詳細資訊。
如果指定名稱沒有屬性,或者指定名稱為空或 null
,抑或屬性不具有正確的數字格式時,則返回 null
。
換句話說,此方法返回一個 Long
物件,它的值等於:
getLong(nm, null)
nm
- 屬性名。
Long
值。System.getProperty(java.lang.String)
,
System.getProperty(java.lang.String, java.lang.String)
public static Long getLong(String nm, long val)
long
值。
第一個參數被視為系統屬性的名稱。通過 System.getProperty(java.lang.String)
方法可以存取該系統屬性。然後,以 long
值的形式解釋此屬性的字元串值,並返回表示此值的 Long
物件。在 getProperty
的定義中可以找到可能的數字格式的詳細資訊。
第二個參數是預設值。如果指定的名稱沒有屬性,或者該屬性不具備正確的數字格式,抑或指定名稱為空或 null,則返回表示第二個參數的值的 Long
物件。
換句話說,此方法返回一個 Long
物件,它的值等於:
getLong(nm, new Long(val))
但是實際上,它可能通過以下方式實作:
這樣可以避免不需要預設值時進行的不必要的Long result = getLong(nm, null); return (result == null) ? new Long(val) :result;
Long
物件分派。
nm
- 屬性名。val
- 預設值。
Long
值。System.getProperty(java.lang.String)
,
System.getProperty(java.lang.String, java.lang.String)
public static Long getLong(String nm, Long val)
long
值。第一個參數被視為系統屬性的名稱。通過 System.getProperty(java.lang.String)
方法可以存取該系統屬性。然後,以 long
值的形式解釋此屬性的字元串值,並且按照 Long.decode
方法返回表示此值的 Long
物件。
0x
或 ASCII 字元 #
開頭,後面沒有跟減號,則將該屬性的其餘部分解析為一個十六進制整數,該值與調用參數 radix 為 16 的 valueOf(java.lang.String, int)
方法得到的值非常相似。
0
開頭,後跟別的字元,則將它解析為一個八進制整數,該值與調用參數 radix 為 8 的 valueOf(java.lang.String, int)
方法得到的值非常相似。
valueOf(java.lang.String, int)
方法得到的值非常相似。
注意,在所有情況下,都不允許將 L
('\u004C'
) 和 l
('\u006C'
) 作為型別指示符出現在屬性值的結尾處,這一點在 Java 程式語言源程式碼中是允許的。
第二個參數是預設值。如果指定的名稱沒有屬性,或者屬性不具有正確的數字格式,抑或指定名稱為空或 null
,則返回預設值。
nm
- 屬性名。val
- 預設值。
Long
值。System.getProperty(java.lang.String)
,
System.getProperty(java.lang.String, java.lang.String)
,
decode(java.lang.String)
public int compareTo(Long anotherLong)
Long
物件。
Comparable<Long>
中的 compareTo
anotherLong
- 要比較的 Long
。
Long
等於參數 Long
,則返回 0
值;如果 Long
在數字上小於參數 Long
,則返回小於 0
的值;如果 Long
在數字上大於參數 Long
,則返回大於 0
的值(有符號比較)。public static long highestOneBit(long i)
public static long lowestOneBit(long i)
public static int numberOfLeadingZeros(long i)
注意,此方法與二進制對數密切相關。對於所有的正 long 值 x:
public static int numberOfTrailingZeros(long i)
public static int bitCount(long i)
public static long rotateLeft(long i, int distance)
注意,使用負距離的左循環等同於右循環:rotateLeft(val, -distance) == rotateRight(val, distance)。另請注意,使用 64 的倍數循環無效,因此除了最後六位,所有循環距離都可以忽略,即使距離是負值:rotateLeft(val, distance) == rotateLeft(val, distance & 0x3F)。
public static long rotateRight(long i, int distance)
注意,使用負距離右循環等於左循環:rotateRight(val, -distance) == rotateLeft(val, distance)。另請注意,使用 64 的倍數循環無效,因此除了最後六位,所有循環距離都可以忽略,即使距離是負值:rotateRight(val, distance) == rotateRight(val, distance & 0x3F)。
public static long reverse(long i)
public static int signum(long i)
public static long reverseBytes(long i)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。