鴻蒙OS Long

2022-05-17 15:46 更新

Long

更新時(shí)間: 2021-11-01 17:20

java.lang.Object

|---java.lang.Number

|---|---java.lang.Long

public final class Long
extends Number
implements Comparable<Long>

Long 類將原始類型 long 的值包裝在一個(gè)對(duì)象中。 Long 類型的對(duì)象包含一個(gè) long 類型的字段。

此外,該類提供了幾種將 long 轉(zhuǎn)換為 String 和 String 轉(zhuǎn)換為 long 的方法,以及在處理 long 時(shí)有用的其他常量和方法。

實(shí)現(xiàn)說明:“bit twiddling”方法(例如highestOneBit 和numberOfTrailingZeros)的實(shí)現(xiàn)基于Henry S. Warren, Jr. 的Hacker's Delight(Addison Wesley,2002)中的材料。

字段摘要

修飾符和類型 字段 描述
static int BYTES 用于以二進(jìn)制補(bǔ)碼形式表示 long 值的字節(jié)數(shù)。
static long MAX_VALUE 一個(gè)保持 long 可以擁有的最大值的常數(shù),263-1。
static long MIN_VALUE 一個(gè)保持 long 可以具有的最小值的常數(shù),-263。
static int SIZE 用于以二進(jìn)制補(bǔ)碼形式表示 long 值的位數(shù)。
static ClassLong TYPE 表示基本類型 long 的 Class 實(shí)例。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
Long(long value) 構(gòu)造一個(gè)新分配的 Long 對(duì)象,該對(duì)象表示指定的 long 參數(shù)。
Long(String s) 構(gòu)造一個(gè)新分配的 Long 對(duì)象,該對(duì)象表示由 String 參數(shù)指示的 long 值。

方法總結(jié)

修飾符和類型 方法 描述
static int bitCount(long i) 返回指定 long 值的二進(jìn)制補(bǔ)碼表示中的一位數(shù)。
byte byteValue() 在縮小原語轉(zhuǎn)換后,將此 Long 的值作為一個(gè)字節(jié)返回。
static int compare(long x, long y) 以數(shù)字方式比較兩個(gè) long 值。
int compareTo(Long anotherLong) 以數(shù)字方式比較兩個(gè) Long 對(duì)象。
static int compareUnsigned(long x, long y) 比較兩個(gè)長值,將值視為無符號(hào)的數(shù)值。
static Long decode(String nm) 將 String 解碼為 Long。
static long divideUnsigned(long dividend, long divisor) 返回第一個(gè)參數(shù)除以第二個(gè)參數(shù)的無符號(hào)商,其中每個(gè)參數(shù)和結(jié)果都被解釋為無符號(hào)值。
double doubleValue() 在擴(kuò)展原始轉(zhuǎn)換后,將此 Long 的值作為雙精度值返回。
boolean equals(Object obj) 將此對(duì)象與指定對(duì)象進(jìn)行比較。
float floatValue() 在擴(kuò)大原始轉(zhuǎn)換后,將此 Long 的值作為浮點(diǎn)數(shù)返回。
static Long getLong(String nm) 確定具有指定名稱的系統(tǒng)屬性的長值。
static Long getLong(String nm, long val) 確定具有指定名稱的系統(tǒng)屬性的長值。
static Long getLong(String nm, Long val) 返回具有指定名稱的系統(tǒng)屬性的長值。
int hashCode() 返回此 Long 的哈希碼。
static int hashCode(long value) 返回長值的哈希碼; 與 Long.hashCode() 兼容。
static long highestOneBit(long i) 在指定的 long 值的最高(“最左邊”)一位的位置返回一個(gè)最多具有單個(gè)一位的 long 值。
int intValue() 在縮小原始轉(zhuǎn)換后,將此 Long 的值作為 int 返回。
long longValue() 將此 Long 的值作為 long 值返回。
static long lowestOneBit(long i) 在指定的 long 值中的最低位(“最右邊”)一位的位置返回一個(gè)最多具有單個(gè)一位的 long 值。
static long max(long a, long b) 返回兩個(gè) long 值中的較大者,就像調(diào)用 Math#max(long, long) 一樣。
static long min(long a, long b) 返回兩個(gè) long 值中較小的一個(gè),就像調(diào)用 Math#min(long, long) 一樣。
static int numberOfLeadingZeros(long i) 返回指定 long 值的二進(jìn)制補(bǔ)碼表示中最高位(“最左邊”)一位之前的零位數(shù)。
static int numberOfTrailingZeros(long i) 返回指定 long 值的二進(jìn)制補(bǔ)碼表示中最低位(“最右邊”)一位之后的零位數(shù)。
static long parseLong(String s) 將字符串參數(shù)解析為有符號(hào)十進(jìn)制長。
static long parseLong(String s, int radix) 將字符串參數(shù)解析為第二個(gè)參數(shù)指定的基數(shù)中的有符號(hào)長整數(shù)。
static long parseUnsignedLong(String s) 將字符串參數(shù)解析為無符號(hào)十進(jìn)制長。
static long parseUnsignedLong(String s, int radix) 將字符串參數(shù)解析為第二個(gè)參數(shù)指定的基數(shù)中的無符號(hào)長整數(shù)。
static long remainderUnsigned(long dividend, long divisor) 返回第一個(gè)參數(shù)除以第二個(gè)參數(shù)得到的無符號(hào)余數(shù),其中每個(gè)參數(shù)和結(jié)果都被解釋為無符號(hào)值。
static long reverse(long i) 返回通過反轉(zhuǎn)指定 long 值的二進(jìn)制補(bǔ)碼表示中的位順序獲得的值。
static long reverseBytes(long i) 返回通過反轉(zhuǎn)指定 long 值的二進(jìn)制補(bǔ)碼表示中的字節(jié)順序獲得的值。
static long rotateLeft(long i, int distance) 返回通過將指定長整型值的二進(jìn)制補(bǔ)碼表示形式向左旋轉(zhuǎn)指定位數(shù)而獲得的值。
static long rotateRight(long i, int distance) 返回通過將指定 long 值的二進(jìn)制補(bǔ)碼表示向右旋轉(zhuǎn)指定位數(shù)獲得的值。
short shortValue() 在縮小基元轉(zhuǎn)換后,將此 Long 的值作為 short 返回。
static int signum(long i) 返回指定 long 值的符號(hào)函數(shù)。
static long sum(long a, long b) 根據(jù) + 運(yùn)算符將兩個(gè) long 值相加。
static String toBinaryString(long i) 將 long 參數(shù)的字符串表示形式返回為以 2 為底的無符號(hào)整數(shù)。
static String toHexString(long i) 將 long 參數(shù)的字符串表示形式返回為以 16 為底的無符號(hào)整數(shù)。
static String toOctalString(long i) 將 long 參數(shù)的字符串表示形式返回為以 8 為底的無符號(hào)整數(shù)。
String toString() 返回表示此 Long 值的 String 對(duì)象。
static String toString(long i) 返回表示指定 long 的 String 對(duì)象。
static String toString(long i, int radix) 以第二個(gè)參數(shù)指定的基數(shù)返回第一個(gè)參數(shù)的字符串表示形式。
static String toUnsignedString(long i) 將參數(shù)的字符串表示形式返回為無符號(hào)十進(jìn)制值。
static String toUnsignedString(long i, int radix) 將第一個(gè)參數(shù)的字符串表示形式返回為第二個(gè)參數(shù)指定的基數(shù)中的無符號(hào)整數(shù)值。
static Long valueOf(long l) 返回一個(gè) Long 實(shí)例,表示指定的 long 值。
static Long valueOf(String s) 返回保存指定字符串值的 Long 對(duì)象。
static Long valueOf(String s, int radix) 當(dāng)使用第二個(gè)參數(shù)給出的基數(shù)進(jìn)行解析時(shí),返回一個(gè) Long 對(duì)象,該對(duì)象包含從指定 String 中提取的值。
從類 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

字段詳細(xì)信息

BYTES

public static final int BYTES

用于以二進(jìn)制補(bǔ)碼形式表示 long 值的字節(jié)數(shù)。

MAX_VALUE

public static final long MAX_VALUE

一個(gè)保持 long 可以擁有的最大值的常數(shù),263-1。

MIN_VALUE

public static final long MIN_VALUE

一個(gè)保持 long 可以具有的最小值的常數(shù),-263。

SIZE

public static final int SIZE

用于以二進(jìn)制補(bǔ)碼形式表示 long 值的位數(shù)。

TYPE

public static final ClassLong TYPE

表示基本類型 long 的 Class 實(shí)例。

構(gòu)造函數(shù)詳細(xì)信息

Long

public Long(long value)

構(gòu)造一個(gè)新分配的 Long 對(duì)象,該對(duì)象表示指定的 long 參數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
value Long 對(duì)象要表示的值。

Long

public Long(String s) throws NumberFormatException

構(gòu)造一個(gè)新分配的 Long 對(duì)象,該對(duì)象表示由 String 參數(shù)指示的 long 值。 字符串轉(zhuǎn)換為 long 值的方式與 parseLong 方法用于基數(shù) 10 的方式完全相同。

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要轉(zhuǎn)換為 Long 的字符串。

Throws:

Throw名稱 Throw描述
NumberFormatException 如果 String 不包含可解析的 long。

方法詳情

toString

public static String toString(long i, int radix)

以第二個(gè)參數(shù)指定的基數(shù)返回第一個(gè)參數(shù)的字符串表示形式。

如果基數(shù)小于 Character.MIN_RADIX 或大于 Character.MAX_RADIX,則使用基數(shù) 10。

如果第一個(gè)參數(shù)為負(fù),則結(jié)果的第一個(gè)元素是 ASCII 減號(hào)“-”(“\u002d”)。 如果第一個(gè)參數(shù)不是負(fù)數(shù),則結(jié)果中不會(huì)出現(xiàn)符號(hào)字符。

結(jié)果的其余字符表示第一個(gè)參數(shù)的大小。 如果幅度為零,則由單個(gè)零字符'0'('\u0030')表示; 否則,幅度表示的第一個(gè)字符將不是零字符。 以下 ASCII 字符用作數(shù)字:

0123456789abcdefghijklmnopqrstuvwxyz

它們是 '\u0030' 到 '\u0039' 和 '\u0061' 到 '\u007a'。 如果 radix 為 N,則這些字符中的前 N 個(gè)字符按所示順序用作 radix-N 位。 因此,十六進(jìn)制(基數(shù) 16)的數(shù)字是 0123456789abcdef。 如果需要大寫字母,可以對(duì)結(jié)果調(diào)用 String.toUpperCase() 方法:

Long.toString(n, 16).toUpperCase()

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要轉(zhuǎn)換為字符串的 long。
radix 在字符串表示中使用的基數(shù)。

返回:

以指定基數(shù)表示的參數(shù)的字符串表示形式。

toUnsignedString

public static String toUnsignedString(long i, int radix)

將第一個(gè)參數(shù)的字符串表示形式返回為第二個(gè)參數(shù)指定的基數(shù)中的無符號(hào)整數(shù)值。

如果基數(shù)小于 Character.MIN_RADIX 或大于 Character.MAX_RADIX,則使用基數(shù) 10。

請(qǐng)注意,由于第一個(gè)參數(shù)被視為無符號(hào)值,因此不會(huì)打印前導(dǎo)符號(hào)字符。

如果幅度為零,則由單個(gè)零字符'0'('\u0030')表示; 否則,幅度表示的第一個(gè)字符將不是零字符。

基數(shù)和用作數(shù)字的字符的行為與 toString 相同。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要轉(zhuǎn)換為無符號(hào)字符串的整數(shù)。
radix 在字符串表示中使用的基數(shù)。

返回:

指定基數(shù)中參數(shù)的無符號(hào)字符串表示形式。

toHexString

public static String toHexString(long i)

將 long 參數(shù)的字符串表示形式返回為以 16 為底的無符號(hào)整數(shù)。

unsigned long 值是參數(shù)加上 264(如果參數(shù)為負(fù)數(shù)); 否則,它等于參數(shù)。 此值將轉(zhuǎn)換為十六進(jìn)制(以 16 為基數(shù))的 ASCII 數(shù)字字符串,沒有額外的前導(dǎo) 0。

可以通過調(diào)用 Long#parseUnsignedLong(String, int) 從返回的字符串 s 中恢復(fù)參數(shù)的值。

如果無符號(hào)幅度為零,則由單個(gè)零字符'0'('\u0030')表示; 否則,無符號(hào)幅度表示的第一個(gè)字符將不是零字符。 以下字符用作十六進(jìn)制數(shù)字:

0123456789abcdef

這些是字符 '\u0030' 到 '\u0039' 和 '\u0061' 到 '\u0066'。 如果需要大寫字母,可以對(duì)結(jié)果調(diào)用 String.toUpperCase() 方法:

Long.toHexString(n).toUpperCase()

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要轉(zhuǎn)換為字符串的 long。

返回:

由十六進(jìn)制參數(shù)表示的無符號(hào)長整數(shù)值的字符串表示形式(以 16 為基數(shù))。

toOctalString

public static String toOctalString(long i)

將 long 參數(shù)的字符串表示形式返回為以 8 為底的無符號(hào)整數(shù)。

unsigned long 值是參數(shù)加上 264(如果參數(shù)為負(fù)數(shù)); 否則,它等于參數(shù)。 此值被轉(zhuǎn)換為八進(jìn)制(以 8 為基數(shù))的 ASCII 數(shù)字字符串,沒有額外的前導(dǎo) 0。

可以通過調(diào)用 Long#parseUnsignedLong(String, int) 從返回的字符串 s 中恢復(fù)參數(shù)的值。

如果無符號(hào)幅度為零,則由單個(gè)零字符'0'('\u0030')表示; 否則,無符號(hào)幅度表示的第一個(gè)字符將不是零字符。 以下字符用作八進(jìn)制數(shù)字:

01234567

這些是字符 '\u0030' 到 '\u0037'。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要轉(zhuǎn)換為字符串的 long。

返回:

由八進(jìn)制參數(shù)表示的無符號(hào)長整型值的字符串表示形式(以 8 為基數(shù))。

toBinaryString

public static String toBinaryString(long i)

將 long 參數(shù)的字符串表示形式返回為以 2 為底的無符號(hào)整數(shù)。

unsigned long 值是參數(shù)加上 264(如果參數(shù)為負(fù)數(shù)); 否則,它等于參數(shù)。 此值被轉(zhuǎn)換為二進(jìn)制(以 2 為基數(shù))的 ASCII 數(shù)字字符串,沒有額外的前導(dǎo) 0。

可以通過調(diào)用 Long#parseUnsignedLong(String, int) 從返回的字符串 s 中恢復(fù)參數(shù)的值。

如果無符號(hào)幅度為零,則由單個(gè)零字符'0'('\u0030')表示; 否則,無符號(hào)幅度表示的第一個(gè)字符將不是零字符。 字符 '0' ('\u0030') 和 '1' ('\u0031') 用作二進(jìn)制數(shù)字。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要轉(zhuǎn)換為字符串的 long。

返回:

由二進(jìn)制參數(shù)表示的無符號(hào)長整型值的字符串表示形式(以 2 為基數(shù))。

toString

public static String toString(long i)

返回表示指定 long 的 String 對(duì)象。 參數(shù)被轉(zhuǎn)換為帶符號(hào)的十進(jìn)制表示并作為字符串返回,就像參數(shù)和基數(shù) 10 作為 toString(long,int) 方法的參數(shù)一樣。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 一個(gè)很長的轉(zhuǎn)換。

返回:

以 10 為基數(shù)的參數(shù)的字符串表示形式。

toUnsignedString

public static String toUnsignedString(long i)

將參數(shù)的字符串表示形式返回為無符號(hào)十進(jìn)制值。 參數(shù)被轉(zhuǎn)換為無符號(hào)十進(jìn)制表示并以字符串形式返回,就像參數(shù)和基數(shù) 10 作為 toUnsignedString(long,int) 方法的參數(shù)一樣。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要轉(zhuǎn)換為無符號(hào)字符串的整數(shù)。

返回:

參數(shù)的無符號(hào)字符串表示。

parseLong

public static long parseLong(String s, int radix) throws NumberFormatException

將字符串參數(shù)解析為第二個(gè)參數(shù)指定的基數(shù)中的有符號(hào)長整數(shù)。字符串中的字符必須都是指定基數(shù)的數(shù)字(由 Character.digit(char, int) 是否返回非負(fù)值決定),除了第一個(gè)字符可能是 ASCII 減號(hào) '-' ('\u002D ') 表示負(fù)值或 ASCII 加號(hào) '+' ('\u002B') 表示正值。返回結(jié)果的 long 值。

請(qǐng)注意,字符 L ('\u004C') 和 l ('\u006C') 都不允許作為類型指示符出現(xiàn)在字符串的末尾,這在 Java 編程語言源代碼中是允許的 - 除了 L或 l 可能顯示為大于或等于 22 的基數(shù)的數(shù)字。

如果發(fā)生以下任何一種情況,則會(huì)引發(fā) NumberFormatException 類型的異常:

  • 第一個(gè)參數(shù)為空或長度為零的字符串。
  • 基數(shù)小于 Character.MIN_RADIX 或大于 Character.MAX_RADIX。
  • 字符串的任何字符都不是指定基數(shù)的數(shù)字,除非第一個(gè)字符可以是減號(hào)'-'('\u002d')或加號(hào)'+'('\u002B'),前提是字符串比長度 1 長。
  • 字符串表示的值不是 long 類型的值。

例子:

 parseLong("0", 10) returns 0L
 parseLong("473", 10) returns 473L
 parseLong("+42", 10) returns 42L
 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

參數(shù):

參數(shù)名稱 參數(shù)描述
s 包含要解析的長表示的字符串。
radix 解析 s 時(shí)要使用的基數(shù)。

返回:

由指定基數(shù)中的字符串參數(shù)表示的 long。

Throws:

Throw名稱 Throw描述
NumberFormatException 如果字符串不包含可解析的 long。

parseLong

public static long parseLong(String s) throws NumberFormatException

將字符串參數(shù)解析為有符號(hào)十進(jìn)制長。 字符串中的字符必須都是十進(jìn)制數(shù)字,除了第一個(gè)字符可以是 ASCII 減號(hào) '-' (\u002D') 來表示負(fù)值或 ASCII 加號(hào) '+' ('\u002B') 來表示 表示正值。 返回結(jié)果 long 值,就好像參數(shù)和基數(shù) 10 作為參數(shù)提供給 parseLong(java.lang.String,int) 方法一樣。

請(qǐng)注意,字符 L ('\u004C') 和 l ('\u006C') 都不允許作為類型指示符出現(xiàn)在字符串的末尾,這在 Java 編程語言源代碼中是允許的。

參數(shù):

參數(shù)名稱 參數(shù)描述
s 一個(gè)包含要解析的長表示的字符串

返回:

由十進(jìn)制參數(shù)表示的 long。

Throws:

Throw名稱 Throw描述
NumberFormatException 如果字符串不包含可解析的 long。

parseUnsignedLong

public static long parseUnsignedLong(String s, int radix) throws NumberFormatException

將字符串參數(shù)解析為第二個(gè)參數(shù)指定的基數(shù)中的無符號(hào)長整數(shù)。無符號(hào)整數(shù)將通常與負(fù)數(shù)關(guān)聯(lián)的值映射到大于 MAX_VALUE 的正數(shù)。字符串中的字符必須都是指定基數(shù)的數(shù)字(由 Character.digit(char, int) 是否返回非負(fù)值決定),除了第一個(gè)字符可能是 ASCII 加號(hào) '+' ('\u002B ')。返回結(jié)果整數(shù)值。

如果發(fā)生以下任何一種情況,則會(huì)引發(fā) NumberFormatException 類型的異常:

  • 第一個(gè)參數(shù)為空或長度為零的字符串。
  • 基數(shù)小于 Character.MIN_RADIX 或大于 Character.MAX_RADIX。
  • 字符串的任何字符都不是指定基數(shù)的數(shù)字,除非第一個(gè)字符可以是加號(hào)“+”(“\u002B”),前提是該字符串的長度大于 1。
  • 字符串表示的值大于最大的 unsigned long 264-1。

參數(shù):

參數(shù)名稱 參數(shù)描述
s 包含要解析的無符號(hào)整數(shù)表示的字符串
radix 解析 s 時(shí)要使用的基數(shù)。

返回:

由指定基數(shù)中的字符串參數(shù)表示的無符號(hào)長整數(shù)。

Throws:

Throw名稱 Throw描述
NumberFormatException 如果 String 不包含可解析的 long。

parseUnsignedLong

public static long parseUnsignedLong(String s) throws NumberFormatException

將字符串參數(shù)解析為無符號(hào)十進(jìn)制長。 字符串中的字符都必須是十進(jìn)制數(shù)字,除了第一個(gè)字符可能是 ASCII 加號(hào)“+”(“\u002B”)。 返回結(jié)果整數(shù)值,就好像參數(shù)和基數(shù) 10 作為參數(shù)提供給 parseUnsignedLong(java.lang.String,int) 方法一樣。

參數(shù):

參數(shù)名稱 參數(shù)描述
s 一個(gè)包含要解析的無符號(hào)長表示的字符串

返回:

由十進(jìn)制字符串參數(shù)表示的無符號(hào)長整型值

Throws:

Throw名稱 Throw描述
NumberFormatException 如果字符串不包含可解析的無符號(hào)整數(shù)。

valueOf

public static Long valueOf(String s, int radix) throws NumberFormatException

當(dāng)使用第二個(gè)參數(shù)給出的基數(shù)進(jìn)行解析時(shí),返回一個(gè) Long 對(duì)象,該對(duì)象包含從指定 String 中提取的值。 第一個(gè)參數(shù)被解釋為表示第二個(gè)參數(shù)指定的基數(shù)中的有符號(hào)長整數(shù),就像將參數(shù)提供給 parseLong(java.lang.String,int) 方法一樣。 結(jié)果是一個(gè) Long 對(duì)象,表示字符串指定的 long 值。

換句話說,此方法返回一個(gè) Long 對(duì)象,其值等于:

new Long(Long.parseLong(s, radix))

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要解析的字符串
radix 用于解釋 s 的基數(shù)

返回:

一個(gè) Long 對(duì)象,保存由指定基數(shù)中的字符串參數(shù)表示的值。

Throws:

Throw名稱 Throw描述
NumberFormatException 如果 String 不包含可解析的 long。

valueOf

public static Long valueOf(String s) throws NumberFormatException

返回保存指定字符串值的 Long 對(duì)象。 該參數(shù)被解釋為表示一個(gè)帶符號(hào)的十進(jìn)制長整數(shù),就像將該參數(shù)提供給 parseLong(java.lang.String) 方法一樣。 結(jié)果是一個(gè) Long 對(duì)象,表示字符串指定的整數(shù)值。

換句話說,此方法返回一個(gè) Long 對(duì)象,其值等于:

new Long(Long.parseLong(s))

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要解析的字符串。

返回:

一個(gè) Long 對(duì)象,保存由字符串參數(shù)表示的值。

Throws:

Throw名稱 Throw描述
NumberFormatException 如果字符串無法解析為 long。

valueOf

public static Long valueOf(long l)

返回一個(gè) Long 實(shí)例,表示指定的 long 值。 如果不需要新的 Long 實(shí)例,則通常應(yīng)優(yōu)先使用此方法而不是構(gòu)造函數(shù) Long(long),因?yàn)榇朔椒赡軙?huì)通過緩存頻繁請(qǐng)求的值來顯著提高空間和時(shí)間性能。 請(qǐng)注意,與 Integer 類中的 Integer#valueOf(int) 不同,此方法不需要緩存特定范圍內(nèi)的值。

參數(shù):

參數(shù)名稱 參數(shù)描述
l 一個(gè)long值

返回:

表示 l 的 Long 實(shí)例。

decode

public static Long decode(String nm) throws NumberFormatException

將 String 解碼為 Long。 接受以下語法給出的十進(jìn)制、十六進(jìn)制和八進(jìn)制數(shù):

可解碼字符串:

Signopt 十進(jìn)制數(shù)字

Signopt 0x HexDigits

Signopt 0X HexDigits

Signopt #HexDigits

Signopt 0 八進(jìn)制數(shù)字

符號(hào):

+

DecimalNumeral、HexDigits 和 OctalDigits 的定義見《Java? 語言規(guī)范》第 3.10.1 節(jié),但數(shù)字之間不接受下劃線。

可選符號(hào)和/或基數(shù)說明符(“0x”、“0X”、“#”或前導(dǎo)零)之后的字符序列由具有指示基數(shù)(10、16 或 8)的 Long.parseLong 方法解析 )。 此字符序列必須表示正值,否則將引發(fā) NumberFormatException。 如果指定字符串的第一個(gè)字符是減號(hào),則結(jié)果為否定。 字符串中不允許有空格字符。

參數(shù):

參數(shù)名稱 參數(shù)描述
nm 要解碼的字符串。

返回:

一個(gè) Long 對(duì)象,保存由 nm 表示的 long 值

Throws:

Throw名稱 Throw描述
NumberFormatException 如果 String 不包含可解析的 long。

byteValue

public byte byteValue()

在縮小原語轉(zhuǎn)換后,將此 Long 的值作為一個(gè)字節(jié)返回。

覆蓋:

類 Number 中的 byteValue

返回:

此對(duì)象在轉(zhuǎn)換為字節(jié)類型后表示的數(shù)值。

shortValue

public short shortValue()

在縮小基元轉(zhuǎn)換后,將此 Long 的值作為 short 返回。

覆蓋:

類 Number 中的 shortValue

返回:

此對(duì)象在轉(zhuǎn)換為 short 類型后表示的數(shù)值。

intValue

public int intValue()

在縮小原始轉(zhuǎn)換后,將此 Long 的值作為 int 返回。

指定者:

類 Number 中的 intValue

返回:

此對(duì)象在轉(zhuǎn)換為 int 類型后表示的數(shù)值。

longValue

public long longValue()

將此 Long 的值作為 long 值返回。

指定者:

類 Number 中的 longValue

返回:

此對(duì)象在轉(zhuǎn)換為 long 類型后表示的數(shù)值。

floatValue

public float floatValue()

在擴(kuò)大原始轉(zhuǎn)換后,將此 Long 的值作為浮點(diǎn)數(shù)返回。

指定者:

類 Number 中的 floatValue

返回:

此對(duì)象在轉(zhuǎn)換為 float 類型后表示的數(shù)值。

doubleValue

public double doubleValue()

在擴(kuò)展原始轉(zhuǎn)換后,將此 Long 的值作為雙精度值返回。

指定者:

類 Number 中的 doubleValue

返回:

此對(duì)象在轉(zhuǎn)換為 double 類型后表示的數(shù)值。

toString

public String toString()

返回表示此 Long 值的 String 對(duì)象。 該值被轉(zhuǎn)換為帶符號(hào)的十進(jìn)制表示并以字符串形式返回,就像將 long 值作為參數(shù)提供給 toString(long) 方法一樣。

覆蓋:

類 Object 中的 toString

返回:

以 10 為基數(shù)的此對(duì)象值的字符串表示形式。

hashCode

public int hashCode()

返回此 Long 的哈希碼。 結(jié)果是此 Long 對(duì)象持有的原始 long 值的兩半的異或。 也就是說,哈希碼是表達(dá)式的值:

(int)(this.longValue()^(this.longValue()>>>32))

覆蓋:

類 Object 中的 hashCode

返回:

此對(duì)象的哈希碼值。

hashCode

public static int hashCode(long value)

返回長值的哈希碼; 與 Long.hashCode() 兼容。

參數(shù):

參數(shù)名稱 參數(shù)描述
value 哈希值

返回:

long 值的哈希碼值。

equals

public boolean equals(Object obj)

將此對(duì)象與指定對(duì)象進(jìn)行比較。 當(dāng)且僅當(dāng)參數(shù)不為 null 并且是包含與該對(duì)象相同的 long 值的 Long 對(duì)象時(shí),結(jié)果才為真。

覆蓋:

類 Object 中的等于

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 比較的對(duì)象。

返回:

如果對(duì)象相同,則為 true; 否則為假。

getLong

public static Long getLong(String nm)

確定具有指定名稱的系統(tǒng)屬性的長值。

第一個(gè)參數(shù)被視為系統(tǒng)屬性的名稱。 系統(tǒng)屬性可通過 System.getProperty(java.lang.String) 方法訪問。 然后使用 Long#decode 支持的語法將此屬性的字符串值解釋為 long 值,并返回表示該值的 Long 對(duì)象。

如果沒有具有指定名稱的屬性,如果指定的名稱為空或 null,或者如果屬性沒有正確的數(shù)字格式,則返回 null。

換句話說,此方法返回一個(gè) Long 對(duì)象,其值等于:

getLong(nm, null)

參數(shù):

參數(shù)名稱 參數(shù)描述
nm 屬性名稱

返回:

屬性的 Long 值。

Throws:

Throw名稱 Throw描述
SecurityException 出于與 System#getProperty(String) 相同的原因

getLong

public static Long getLong(String nm, long val)

確定具有指定名稱的系統(tǒng)屬性的長值。

第一個(gè)參數(shù)被視為系統(tǒng)屬性的名稱。 系統(tǒng)屬性可通過 System.getProperty(java.lang.String) 方法訪問。 然后使用 Long#decode 支持的語法將此屬性的字符串值解釋為 long 值,并返回表示該值的 Long 對(duì)象。

第二個(gè)參數(shù)是默認(rèn)值。 如果沒有指定名稱的屬性,如果屬性沒有正確的數(shù)字格式,或者指定的名稱為空或 null,則返回表示第二個(gè)參數(shù)的值的 Long 對(duì)象。

換句話說,此方法返回一個(gè) Long 對(duì)象,其值等于:

getLong(nm, new Long(val))

但在實(shí)踐中,它可以通過以下方式實(shí)現(xiàn):

 Long result = getLong(nm, null); return (result == null) ? new Long(val) : result; 

以避免在不需要默認(rèn)值時(shí)對(duì) Long 對(duì)象進(jìn)行不必要的分配。

參數(shù):

參數(shù)名稱 參數(shù)描述
nm 屬性名稱
val 默認(rèn)值

返回:

屬性的 Long 值。

Throws:

Throw名稱 Throw描述
SecurityException 出于與 System#getProperty(String) 相同的原因

getLong

public static Long getLong(String nm, Long val)

返回具有指定名稱的系統(tǒng)屬性的長值。第一個(gè)參數(shù)被視為系統(tǒng)屬性的名稱。系統(tǒng)屬性可通過 System.getProperty(java.lang.String) 方法訪問。然后根據(jù) Long#decode 方法將此屬性的字符串值解釋為 long 值,并返回表示該值的 Long 對(duì)象;總之:

  • 如果屬性值以兩個(gè) ASCII 字符 0x 或 ASCII 字符 # 開頭,后面沒有減號(hào),則其余部分將被解析為十六進(jìn)制整數(shù),與方法 valueOf(java.lang.String,int ) 基數(shù)為 16。
  • 如果屬性值以 ASCII 字符 0 后跟另一個(gè)字符開頭,則它被解析為八進(jìn)制整數(shù),與基數(shù)為 8 的 valueOf(java.lang.String,int) 方法完全相同。
  • 否則,屬性值將被解析為十進(jìn)制整數(shù),與基數(shù)為 10 的 valueOf(java.lang.String,int) 方法完全相同。

請(qǐng)注意,在任何情況下,都不允許 L ('\u004C') 和 l ('\u006C') 出現(xiàn)在屬性值的末尾作為類型指示符,這在 Java 編程語言源代碼中是允許的。

第二個(gè)參數(shù)是默認(rèn)值。如果沒有指定名稱的屬性,如果屬性沒有正確的數(shù)字格式,或者指定的名稱為空或 null,則返回默認(rèn)值。

參數(shù):

參數(shù)名稱 參數(shù)描述
nm 屬性名稱
val 默認(rèn)值

返回:

屬性的 Long 值。

Throws:

Throw名稱 Throw描述
SecurityException 出于與 System#getProperty(String) 相同的原因

compareTo

public int compareTo(Long anotherLong)

以數(shù)字方式比較兩個(gè) Long 對(duì)象。

指定者:

接口 ComparableLong 中的 compareTo

參數(shù):

參數(shù)名稱 參數(shù)描述
anotherLong 被比較的Long

返回:

如果此 Long 等于參數(shù) Long,則值為 0; 如果此 Long 在數(shù)值上小于參數(shù) Long,則值小于 0; 如果此 Long 在數(shù)值上大于參數(shù) Long(有符號(hào)比較),則值大于 0。

compare

public static int compare(long x, long y)

以數(shù)字方式比較兩個(gè) long 值。 返回的值與通過以下方式返回的值相同:

    Long.valueOf(x).compareTo(Long.valueOf(y)) 

參數(shù):

參數(shù)名稱 參數(shù)描述
x 第一個(gè)要比較的long
y 第二個(gè)要比較的long

返回:

如果 x == y,則值為 0; 如果 x < y,則值小于 0; 如果 x > y,則值大于 0

compareUnsigned

public static int compareUnsigned(long x, long y)

比較兩個(gè) long 值,將這些值視為無符號(hào)的數(shù)值。

參數(shù):

參數(shù)名稱 參數(shù)描述
x 第一個(gè)要比較的long
y 第二個(gè)要比較的long

返回:

如果 x == y,則值為 0; 如果 x < y 作為無符號(hào)值,則值小于 0; 如果 x > y 作為無符號(hào)值,則值大于 0

divideUnsigned

public static long divideUnsigned(long dividend, long divisor)

返回第一個(gè)參數(shù)除以第二個(gè)參數(shù)的無符號(hào)商,其中每個(gè)參數(shù)和結(jié)果都被解釋為無符號(hào)值。

請(qǐng)注意,在二進(jìn)制補(bǔ)碼算術(shù)中,如果兩個(gè)操作數(shù)都被視為有符號(hào)或無符號(hào),則加法、減法和乘法這三個(gè)其他基本算術(shù)運(yùn)算按位相同。 因此不提供單獨(dú)的 addUnsigned 等方法。

參數(shù):

參數(shù)名稱 參數(shù)描述
dividend 被除的值
divisor 進(jìn)行除法的值

返回:

第一個(gè)參數(shù)的無符號(hào)商除以第二個(gè)參數(shù)

remainderUnsigned

public static long remainderUnsigned(long dividend, long divisor)

返回第一個(gè)參數(shù)除以第二個(gè)參數(shù)得到的無符號(hào)余數(shù),其中每個(gè)參數(shù)和結(jié)果都被解釋為無符號(hào)值。

參數(shù):

參數(shù)名稱 參數(shù)描述
dividend 被除的值
divisor 進(jìn)行除法的值

返回:

第一個(gè)參數(shù)的無符號(hào)余數(shù)除以第二個(gè)參數(shù)

highestOneBit

public static long highestOneBit(long i)

在指定的 long 值的最高(“最左邊”)一位的位置返回一個(gè)最多具有單個(gè)一位的 long 值。 如果指定的值在其二進(jìn)制補(bǔ)碼表示中沒有一位,即等于零,則返回零。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要計(jì)算其最高一位的值

返回:

具有單個(gè)一位的長值,位于指定值中最高位的位置,如果指定的值本身等于 0,則為 0。

lowestOneBit

public static long lowestOneBit(long i)

在指定的 long 值中的最低位(“最右邊”)一位的位置返回一個(gè)最多具有單個(gè)一位的 long 值。 如果指定的值在其二進(jìn)制補(bǔ)碼表示中沒有一位,即等于零,則返回零。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要計(jì)算其最低一位的值

返回:

具有單個(gè)一位的長值,位于指定值中最低位的位置,如果指定值本身等于 0,則為 0。

numberOfLeadingZeros

public static int numberOfLeadingZeros(long i)

返回指定 long 值的二進(jìn)制補(bǔ)碼表示中最高位(“最左邊”)一位之前的零位數(shù)。 如果指定的值在其二進(jìn)制補(bǔ)碼表示中沒有一位,則返回 64,換句話說,如果它等于 0。

請(qǐng)注意,此方法與以 2 為底的對(duì)數(shù)密切相關(guān)。對(duì)于所有正 long 值 x:

  • floor(log2(x)) = 63 - numberOfLeadingZeros(x)
  • ceil(log2(x)) = 64 - numberOfLeadingZeros(x - 1)

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要計(jì)算前導(dǎo)零個(gè)數(shù)的值

返回:

指定 long 值的二進(jìn)制補(bǔ)碼表示中最高位(“最左邊”)一位之前的零位數(shù),如果值等于 0,則為 64。

numberOfTrailingZeros

public static int numberOfTrailingZeros(long i)

返回指定 long 值的二進(jìn)制補(bǔ)碼表示中最低位(“最右邊”)一位之后的零位數(shù)。 如果指定的值在其二進(jìn)制補(bǔ)碼表示中沒有一位,則返回 64,換句話說,如果它等于 0。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要計(jì)算其尾隨零數(shù)量的值

返回:

指定 long 值的二進(jìn)制補(bǔ)碼表示中最低位(“最右邊”)一位之后的零位的數(shù)量,如果值等于 0,則為 64。

bitCount

public static int bitCount(long i)

返回指定 long 值的二進(jìn)制補(bǔ)碼表示中的一位數(shù)。 這個(gè)函數(shù)有時(shí)被稱為人口計(jì)數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要計(jì)算其位的值

返回:

指定 long 值的二進(jìn)制補(bǔ)碼表示中的一位數(shù)。

rotateLeft

public static long rotateLeft(long i, int distance)

返回通過將指定長整型值的二進(jìn)制補(bǔ)碼表示形式向左旋轉(zhuǎn)指定位數(shù)而獲得的值。 (位移出左側(cè),或高位,右側(cè)重新進(jìn)入,或低位。)

請(qǐng)注意,負(fù)距離的左旋轉(zhuǎn)等效于右旋轉(zhuǎn):rotateLeft(val, -distance) == rotateRight(val, distance)。 另請(qǐng)注意,任何 64 倍數(shù)的旋轉(zhuǎn)都是無操作的,因此可以忽略旋轉(zhuǎn)距離的最后六位以外的所有位,即使距離為負(fù):rotateLeft(val, distance) == rotateLeft(val, distance & 0x3F)。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 其位要左移的值
distance 向左旋轉(zhuǎn)的位數(shù)

返回:

通過將指定的 long 值的二進(jìn)制補(bǔ)碼表示形式向左旋轉(zhuǎn)指定位數(shù)而獲得的值。

rotateRight

public static long rotateRight(long i, int distance)

返回通過將指定 long 值的二進(jìn)制補(bǔ)碼表示向右旋轉(zhuǎn)指定位數(shù)獲得的值。 (位移出右手,或低位,左側(cè)重新進(jìn)入,或高位。)

請(qǐng)注意,負(fù)距離的右旋轉(zhuǎn)相當(dāng)于左旋轉(zhuǎn):rotateRight(val, -distance) == rotateLeft(val, distance)。 另請(qǐng)注意,任何 64 倍數(shù)的旋轉(zhuǎn)都是無操作的,因此可以忽略旋轉(zhuǎn)距離的最后六位以外的所有位,即使距離為負(fù):rotateRight(val, distance) == rotateRight(val, distance & 0x3F)。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 其位要右移的值
distance 向右旋轉(zhuǎn)的位數(shù)

返回:

通過將指定 long 值的二進(jìn)制補(bǔ)碼表示右移指定位數(shù)獲得的值。

reverse

public static long reverse(long i)

返回通過反轉(zhuǎn)指定 long 值的二進(jìn)制補(bǔ)碼表示中的位順序獲得的值。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要反轉(zhuǎn)的值

返回:

通過反轉(zhuǎn)指定 long 值中位的順序獲得的值。

signum

public static int signum(long i)

返回指定 long 值的符號(hào)函數(shù)。 (如果指定值為負(fù),則返回值為 -1;如果指定值為 0,則返回 0;如果指定值為正,則返回 1。)

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要計(jì)算其符號(hào)的值

返回:

指定 long 值的符號(hào)函數(shù)。

reverseBytes

public static long reverseBytes(long i)

返回通過反轉(zhuǎn)指定 long 值的二進(jìn)制補(bǔ)碼表示中的字節(jié)順序獲得的值。

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要反轉(zhuǎn)其字節(jié)的值

返回:

通過反轉(zhuǎn)指定 long 值中的字節(jié)獲得的值。

sum

public static long sum(long a, long b)

根據(jù) + 運(yùn)算符將兩個(gè) long 值相加。

參數(shù):

參數(shù)名稱 參數(shù)描述
a 第一個(gè)操作數(shù)
b 第二個(gè)操作數(shù)

返回:

a 和 b 之和

max

public static long max(long a, long b)

返回兩個(gè) long 值中的較大者,就像調(diào)用 Math#max(long, long) 一樣。

參數(shù):

參數(shù)名稱 參數(shù)描述
a 第一個(gè)操作數(shù)
b 第二個(gè)操作數(shù)

返回:

a 和 b 中的較大者

min

public static long min(long a, long b)

返回兩個(gè) long 值中較小的一個(gè),就像調(diào)用 Math#min(long, long) 一樣。

參數(shù):

參數(shù)名稱 參數(shù)描述
a 第一個(gè)操作數(shù)
b 第二個(gè)操作數(shù)

返回:

a 和 b 中較小的一個(gè)

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)