鴻蒙OS Long

2022-05-17 15:46 更新

Long

更新時間: 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 的值包裝在一個對象中。 Long 類型的對象包含一個 long 類型的字段。

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

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

字段摘要

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

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

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

方法總結(jié)

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

字段詳細信息

BYTES

public static final int BYTES

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

MAX_VALUE

public static final long MAX_VALUE

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

MIN_VALUE

public static final long MIN_VALUE

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

SIZE

public static final int SIZE

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

TYPE

public static final ClassLong TYPE

表示基本類型 long 的 Class 實例。

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

Long

public Long(long value)

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

參數(shù):

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

Long

public Long(String s) throws NumberFormatException

構(gòu)造一個新分配的 Long 對象,該對象表示由 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)

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

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

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

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

0123456789abcdefghijklmnopqrstuvwxyz

它們是 '\u0030' 到 '\u0039' 和 '\u0061' 到 '\u007a'。 如果 radix 為 N,則這些字符中的前 N 個字符按所示順序用作 radix-N 位。 因此,十六進制(基數(shù) 16)的數(shù)字是 0123456789abcdef。 如果需要大寫字母,可以對結(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)

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

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

請注意,由于第一個參數(shù)被視為無符號值,因此不會打印前導符號字符。

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

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

參數(shù):

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

返回:

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

toHexString

public static String toHexString(long i)

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

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

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

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

0123456789abcdef

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

Long.toHexString(n).toUpperCase()

參數(shù):

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

返回:

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

toOctalString

public static String toOctalString(long i)

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

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

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

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

01234567

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

參數(shù):

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

返回:

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

toBinaryString

public static String toBinaryString(long i)

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

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

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

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

參數(shù):

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

返回:

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

toString

public static String toString(long i)

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

參數(shù):

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

返回:

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

toUnsignedString

public static String toUnsignedString(long i)

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

參數(shù):

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

返回:

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

parseLong

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

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

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

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

  • 第一個參數(shù)為空或長度為零的字符串。
  • 基數(shù)小于 Character.MIN_RADIX 或大于 Character.MAX_RADIX。
  • 字符串的任何字符都不是指定基數(shù)的數(shù)字,除非第一個字符可以是減號'-'('\u002d')或加號'+'('\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ù)表示的 long。

Throws:

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

parseLong

public static long parseLong(String s) throws NumberFormatException

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

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

參數(shù):

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

返回:

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

Throws:

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

parseUnsignedLong

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

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

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

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

參數(shù):

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

返回:

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

Throws:

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

parseUnsignedLong

public static long parseUnsignedLong(String s) throws NumberFormatException

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

參數(shù):

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

返回:

由十進制字符串參數(shù)表示的無符號長整型值

Throws:

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

valueOf

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

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

換句話說,此方法返回一個 Long 對象,其值等于:

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

參數(shù):

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

返回:

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

Throws:

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

valueOf

public static Long valueOf(String s) throws NumberFormatException

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

換句話說,此方法返回一個 Long 對象,其值等于:

new Long(Long.parseLong(s))

參數(shù):

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

返回:

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

Throws:

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

valueOf

public static Long valueOf(long l)

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

參數(shù):

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

返回:

表示 l 的 Long 實例。

decode

public static Long decode(String nm) throws NumberFormatException

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

可解碼字符串:

Signopt 十進制數(shù)字

Signopt 0x HexDigits

Signopt 0X HexDigits

Signopt #HexDigits

Signopt 0 八進制數(shù)字

符號:

+

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

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

參數(shù):

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

返回:

一個 Long 對象,保存由 nm 表示的 long 值

Throws:

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

byteValue

public byte byteValue()

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

覆蓋:

類 Number 中的 byteValue

返回:

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

shortValue

public short shortValue()

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

覆蓋:

類 Number 中的 shortValue

返回:

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

intValue

public int intValue()

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

指定者:

類 Number 中的 intValue

返回:

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

longValue

public long longValue()

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

指定者:

類 Number 中的 longValue

返回:

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

floatValue

public float floatValue()

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

指定者:

類 Number 中的 floatValue

返回:

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

doubleValue

public double doubleValue()

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

指定者:

類 Number 中的 doubleValue

返回:

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

toString

public String toString()

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

覆蓋:

類 Object 中的 toString

返回:

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

hashCode

public int hashCode()

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

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

覆蓋:

類 Object 中的 hashCode

返回:

此對象的哈希碼值。

hashCode

public static int hashCode(long value)

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

參數(shù):

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

返回:

long 值的哈希碼值。

equals

public boolean equals(Object obj)

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

覆蓋:

類 Object 中的等于

參數(shù):

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

返回:

如果對象相同,則為 true; 否則為假。

getLong

public static Long getLong(String nm)

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

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

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

換句話說,此方法返回一個 Long 對象,其值等于:

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)屬性的長值。

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

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

換句話說,此方法返回一個 Long 對象,其值等于:

getLong(nm, new Long(val))

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

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

以避免在不需要默認值時對 Long 對象進行不必要的分配。

參數(shù):

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

返回:

屬性的 Long 值。

Throws:

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

getLong

public static Long getLong(String nm, Long val)

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

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

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

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

參數(shù):

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

返回:

屬性的 Long 值。

Throws:

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

compareTo

public int compareTo(Long anotherLong)

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

指定者:

接口 ComparableLong 中的 compareTo

參數(shù):

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

返回:

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

compare

public static int compare(long x, long y)

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

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

參數(shù):

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

返回:

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

compareUnsigned

public static int compareUnsigned(long x, long y)

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

參數(shù):

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

返回:

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

divideUnsigned

public static long divideUnsigned(long dividend, long divisor)

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

請注意,在二進制補碼算術(shù)中,如果兩個操作數(shù)都被視為有符號或無符號,則加法、減法和乘法這三個其他基本算術(shù)運算按位相同。 因此不提供單獨的 addUnsigned 等方法。

參數(shù):

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

返回:

第一個參數(shù)的無符號商除以第二個參數(shù)

remainderUnsigned

public static long remainderUnsigned(long dividend, long divisor)

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

參數(shù):

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

返回:

第一個參數(shù)的無符號余數(shù)除以第二個參數(shù)

highestOneBit

public static long highestOneBit(long i)

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

參數(shù):

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

返回:

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

lowestOneBit

public static long lowestOneBit(long i)

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

參數(shù):

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

返回:

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

numberOfLeadingZeros

public static int numberOfLeadingZeros(long i)

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

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

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

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要計算前導零個數(shù)的值

返回:

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

numberOfTrailingZeros

public static int numberOfTrailingZeros(long i)

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

參數(shù):

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

返回:

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

bitCount

public static int bitCount(long i)

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

參數(shù):

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

返回:

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

rotateLeft

public static long rotateLeft(long i, int distance)

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

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

參數(shù):

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

返回:

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

rotateRight

public static long rotateRight(long i, int distance)

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

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

參數(shù):

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

返回:

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

reverse

public static long reverse(long i)

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

參數(shù):

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

返回:

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

signum

public static int signum(long i)

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

參數(shù):

參數(shù)名稱 參數(shù)描述
i 要計算其符號的值

返回:

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

reverseBytes

public static long reverseBytes(long i)

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

參數(shù):

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

返回:

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

sum

public static long sum(long a, long b)

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

參數(shù):

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

返回:

a 和 b 之和

max

public static long max(long a, long b)

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

參數(shù):

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

返回:

a 和 b 中的較大者

min

public static long min(long a, long b)

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

參數(shù):

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

返回:

a 和 b 中較小的一個

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號