JAVALang.Java中的Long类

长时间上课是一种乐趣 包装类 对于基本类型long,它包含几个方法来有效地处理long值,比如将其转换为字符串表示,反之亦然。Long类的对象可以包含一个Long值。主要有两个构造函数来初始化长对象-

null
  • 长(长b): 创建用提供的值初始化的长对象。
Syntax : public Long(long b)Parameters :b : value with which to initialize
  • 长(字符串s): 创建一个用字符串表示法提供的Long值初始化的Long对象。默认基数为10。
Syntax : public Long(String s)                     throws NumberFormatExceptionParameters :s : string representation of the long value Throws :NumberFormatException : If the string provided does not represent any long value.

方法:

1.toString(): 返回与长值对应的字符串。

Syntax : public String toString(long b)Parameters :b : long value for which string representation required.

2. Tohextstring( ) : 以十六进制形式返回与长值对应的字符串,也就是说,它返回一个以十六进制字符表示长值的字符串-[0-9][a-f]

Syntax : public String toHexString(long b)Parameters :b : long value for which hex string representation required.

3. toOctalString() : 以八进制形式返回与长值对应的字符串,也就是说,它返回一个以八进制字符表示长值的字符串-[0-7]

Syntax : public String toOctalString(long b)Parameters :b : long value for which octal string representation required.

4. Tobinarysting() : 返回与二进制长值对应的字符串,也就是说,它返回一个以十六进制字符表示长值的字符串-[0/1]

Syntax : public String toBinaryString(long b)Parameters :b : long value for which binary string representation required.

5. 价值 : 返回用提供的值初始化的长对象。

Syntax : public static Long valueOf(long b)Parameters :b : a long value

另一个重载函数valueOf(String val,long radix),提供类似于 新Long(Long.parseLong(val,基数))

Syntax : public static Long valueOf(String val, long radix)            throws NumberFormatExceptionParameters :val : String to be parsed into long valueradix : radix to be used while parsingThrows :NumberFormatException : if String cannot be parsed to a long value in given radix.

另一个重载函数valueOf(String val),提供与 新的Long(Long.parseInt(val,10))

Syntax : public static Long valueOf(String s)           throws NumberFormatExceptionParameters :s : a String object to be parsed as longThrows :NumberFormatException : if String cannot be parsed to a long value in given radix.

6.parseLong(): 通过以提供的基数解析字符串返回长值。与valueOf()不同,因为它返回一个基本的long值,valueOf()返回long对象。

Syntax : public static long parseInt(String val, int radix)             throws NumberFormatExceptionParameters :val : String representation of long radix : radix to be used while parsingThrows :NumberFormatException : if String cannot be parsed to a long value in given radix.

另一个重载方法只包含字符串作为参数,基数默认设置为10。

Syntax : public static long parseLong(String val)             throws NumberFormatExceptionParameters :val : String representation of long Throws :NumberFormatException : if String cannot be parsed to a long value in given radix.

7.getLong(): 返回表示与给定系统属性关联的值的长对象,如果不存在,则返回null。

Syntax : public static Long getLong(String prop)Parameters :prop : System property

另一个重载方法,如果属性不存在,则返回第二个参数,即它不返回null,而是返回用户提供的默认值。

Syntax : public static Long getLong(String prop, long val)Parameters :prop : System propertyval : value to return if property does not exist.

另一个重载方法根据返回的值解析值,即如果返回的值以“#”开头,则解析为十六进制;如果以“0”开头,则解析为八进制,否则为十进制。

Syntax : public static Long getLong(String prop, Long val)Parameters :prop : System propertyval : value to return if property does not exist.

8. 解码 : 返回包含所提供字符串的解码值的长对象。提供的字符串必须为以下形式,否则将抛出NumberFormatException- 十进制(符号)十进制数 十六进制-(符号)“0x”十六进制数字 十六进制-(符号)“0X”十六进制数字 八进制-(符号)“0”八进制数字

Syntax : public static Long decode(String s)             throws NumberFormatExceptionParameters :s : encoded string to be parsed into long valThrows :NumberFormatException : If the string cannot be decoded into a long value

9.rotateLeft(): 以给定值的补码形式将位向左旋转给定距离,返回一个基元long。当向左旋转时,最高有效位移到右侧,或最低有效位位置,即位发生循环移动。负距离表示向右旋转。

Syntax : public static long rotateLeft(long val, int dist)Parameters :val : long value to be rotateddist : distance to rotate

10.rotateRight(): 通过以给定值的二补形式将位向右旋转给定距离,返回原语long。当向右旋转时,最低有效位移到左侧,或最高有效位发生循环移动。负距离表示向左旋转。

Syntax : public static long rotateRight(long val, int dist)Parameters :val : long value to be rotateddist : distance to rotate

JAVA

// Java program to illustrate
// various Long class methods
public class Long_test
{
public static void main(String args[])
{
long b = 55 ;
String bb = "45" ;
// Construct two Long objects
Long x = new Long(b);
Long y = new Long(bb);
// toString()
System.out.println( "toString(b) = " + Long.toString(b));
// toHexString(),toOctalString(),toBinaryString()
// converts into hexadecimal, octal and binary forms.
System.out.println( "toHexString(b) =" + Long.toHexString(b));
System.out.println( "toOctalString(b) =" + Long.toOctalString(b));
System.out.println( "toBinaryString(b) =" + Long.toBinaryString(b));
// valueOf(): return Long object
// an overloaded method takes radix as well.
Long z = Long.valueOf(b);
System.out.println( "valueOf(b) = " + z);
z = Long.valueOf(bb);
System.out.println( "ValueOf(bb) = " + z);
z = Long.valueOf(bb, 6 );
System.out.println( "ValueOf(bb,6) = " + z);
// parseLong(): return primitive long value
// an overloaded method takes radix as well
long zz = Long.parseLong(bb);
System.out.println( "parseLong(bb) = " + zz);
zz = Long.parseLong(bb, 6 );
System.out.println( "parseLong(bb,6) = " + zz);
// getLong(): can be used to retrieve
// long value of system property
long prop = Long.getLong( "sun.arch.data.model" );
System.out.println( "getLong(sun.arch.data.model) = " + prop);
System.out.println( "getLong(abcd) =" + Long.getLong( "abcd" ));
// an overloaded getLong() method
// which return default value if property not found.
System.out.println( "getLong(abcd,10) =" + Long.getLong( "abcd" , 10 ));
// decode() : decodes the hex,octal and decimal
// string to corresponding long values.
String decimal = "45" ;
String octal = "005" ;
String hex = "0x0f" ;
Long dec = Long.decode(decimal);
System.out.println( "decode(45) = " + dec);
dec = Long.decode(octal);
System.out.println( "decode(005) = " + dec);
dec = Long.decode(hex);
System.out.println( "decode(0x0f) = " + dec);
// rotateLeft and rotateRight can be used
// to rotate bits by specified distance
long valrot = 2 ;
System.out.println( "rotateLeft(0000 0000 0000 0010 , 2) =" +
Long.rotateLeft(valrot, 2 ));
System.out.println( "rotateRight(0000 0000 0000 0010,3) =" +
Long.rotateRight(valrot, 3 ));
}
}


输出:

toString(b) = 55toHexString(b) =37toOctalString(b) =67toBinaryString(b) =110111valueOf(b) = 55ValueOf(bb) = 45ValueOf(bb,6) = 29parseInt(bb) = 45parseInt(bb,6) = 29getLong(sun.arch.data.model) = 64getLong(abcd) =nullgetLong(abcd,10) =10decode(45) = 45decode(005) = 5decode(0x0f) = 15rotateLeft(0000 0000 0000 0010 , 2) =8rotateRight(0000 0000 0000 0010,3) =1073741824

一些更长的类方法是——

11 字节值( ) : 返回与此长对象对应的字节值。

Syntax : public byte byteValue()

12.shortValue(): 返回与此长对象对应的短值。

Syntax : public short shortValue()

13.intValue(): 返回与此长对象对应的int值。

Syntax : public int intValue()

14 longValue() : 返回与此长对象对应的长值。

Syntax : public long longValue()

15.doubleValue(): 返回与此长对象对应的双精度值。

Syntax : public double doubleValue()

16.floatValue(): 返回与此长对象对应的浮点值。

Syntax : public float floatValue()

17.hashCode(): 返回与此长对象对应的哈希代码。

Syntax : public int hashCode()

18.比特数(): 返回给定长度的两个补码中的设置位数。

Syntax : public static int bitCount(long i)Parameters :i : long value whose set bits to count

19 numberOfLeadingZeroes() : 返回值的两补形式中最高1位之前的0位数,即如果两补形式中的数字为0000 1010 0000 0000,则此函数将返回4。

Syntax : public static int numberofLeadingZeroes(long i)Parameters :i : long value whose leading zeroes to count in twos complement form

20 numberOfTrailingZeroes() : 返回值的两补形式的最后1位之后的0位数,即如果两补形式的数字为0000 1010 0000 0000,则此函数将返回9。

Syntax : public static int numberofTrailingZeroes(long i)Parameters :i : long value whose trailing zeroes to count in twos complement form

21 highestOneBit() : 返回一个最多只有一位的值,该值位于给定值中最高一位的位置。如果给定的值为0,即数字为0000 1111,则返回0。此函数返回0000 1000(给定数字中最高一位的一个)

Syntax : public static long highestOneBit(long i)Parameters :i : long value 

22 LowestOneBit() : 返回一个最多只有一位的值,该值位于给定值的最低一位位置。如果给定的值为0,即数字为0000 1111,则返回0。此函数返回0000 0001(给定数字中最高一位的一个)

Syntax : public static long LowestOneBit(long i)Parameters :i : long value 

23 等于 : 用来比较两个长物体的相等性。如果两个对象都包含相同的长值,则此方法返回true。仅当检查是否相等时才应使用。在所有其他情况下,应首选比较法。

Syntax : public boolean equals(Object obj)Parameters :obj : object to compare with

24 比较 : 用于比较两个长对象的数值相等。在比较两个长值的数值相等性时,应使用此选项,因为它将区分较小值和较大值。返回小于0,0的值,对于小于、等于和大于,返回大于0的值。

Syntax : public int compareTo(Long b)Parameters :b : Long object to compare with

25.比较(): 用于比较两个基本长数值是否相等。由于它是一种静态方法,因此可以在不创建任何长时间对象的情况下使用。

Syntax : public static int compare(long x,long y)Parameters :x : long valuey : another long value

26 符号() : 对于负值返回-1,对于0返回0,对于大于0的值返回+1。

Syntax : public static int signum(long val)Parameters :val : long value for which signum is required.

27 反向 : 返回一个原语长值,该原语长值与给定长值的补位形式的位顺序相反。

Syntax : public static long reverseBytes(long val)Parameters :val : long value whose bits to reverse in order.

28.反向字节() 返回一个原语long值,该值与给定long值的字节补码形式相反。

Syntax : public static long reverseBytes(long val)Parameters :val : long value whose bits to reverse in order.

JAVA

// Java program to illustrate
// various Long methods
public class Long_test
{
public static void main(String args[])
{
long b = 55 ;
String bb = "45" ;
// Construct two Long objects
Long x = new Long(b);
Long y = new Long(bb);
// xxxValue can be used to retrieve
// xxx type value from long value.
// xxx can be int,byte,short,long,double,float
System.out.println( "bytevalue(x) = " + x.byteValue());
System.out.println( "shortvalue(x) = " + x.shortValue());
System.out.println( "intvalue(x) = " + x.intValue());
System.out.println( "longvalue(x) = " + x.longValue());
System.out.println( "doublevalue(x) = " + x.doubleValue());
System.out.println( "floatvalue(x) = " + x.floatValue());
long value = 45 ;
// bitcount() : can be used to count set bits
// in twos complement form of the number
System.out.println( "Long.bitcount(value)=" + Long.bitCount(value));
// numberOfTrailingZeroes and numberOfLeaadingZeroes
// can be used to count prefix and postfix sequence of 0
System.out.println( "Long.numberOfTrailingZeros(value)=" +
Long.numberOfTrailingZeros(value));
System.out.println( "Long.numberOfLeadingZeros(value)=" +
Long.numberOfLeadingZeros(value));
// highestOneBit returns a value with one on highest
// set bit position
System.out.println( "Long.highestOneBit(value)=" +
Long.highestOneBit(value));
// highestOneBit returns a value with one on lowest
// set bit position
System.out.println( "Long.lowestOneBit(value)=" +
Long.lowestOneBit(value));
// reverse() can be used to reverse order of bits
// reverseytes() can be used to reverse order of bytes
System.out.println( "Long.reverse(value)=" + Long.reverse(value));
System.out.println( "Long.reverseBytes(value)=" +
Long.reverseBytes(value));
// signum() returns -1,0,1 for negative,0 and positive
// values
System.out.println( "Long.signum(value)=" + Long.signum(value));
// hashcode() returns hashcode of the object
int hash = x.hashCode();
System.out.println( "hashcode(x) = " + hash);
// equals returns boolean value representing equality
boolean eq = x.equals(y);
System.out.println( "x.equals(y) = " + eq);
// compare() used for comparing two int values
int e = Long.compare(x, y);
System.out.println( "compare(x,y) = " + e);
// compareTo() used for comparing this value with some
// other value
int f = x.compareTo(y);
System.out.println( "x.compareTo(y) = " + f);
}
}


输出:

bytevalue(x) = 55shortvalue(x) = 55intvalue(x) = 55longvalue(x) = 55doublevalue(x) = 55.0floatvalue(x) = 55.0Long.bitcount(value)=4Long.numberOfTrailingZeros(value)=0Long.numberOfLeadingZeros(value)=58Long.highestOneBit(value)=32Long.lowestOneBit(value)=1Long.reverse(value)=-5476377146882523136Long.reverseBytes(value)=3242591731706757120Long.signum(value)=1hashcode(x) = 55x.equals(y) = falsecompare(x,y) = 1x.compareTo(y) = 1

本文由 Rishabh Mahrsee .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享