Long
Long 基本数据类型long 的包装类
Long 类型的对象包含一个 long类型的字段
属性简介
值为 263-1 的常量,它表示 long 类型能够表示的最大值 | @Native public static final long MAX_VALUE = 0x7fffffffffffffffL; |
值为 -263 的常量,它表示 long 类型能够表示的最小值 | @Native public static final long MIN_VALUE = 0x8000000000000000L; |
用来以二进制补码形式表示 long 值的比特位数 | @Native public static final int SIZE = 64; |
二进制补码形式表示 long 值的字节数 | public static final int BYTES = SIZE / Byte.SIZE; |
表示基本类型 long 的 Class 实例 | public static final Class<Long> TYPE = (Class<Long>) Class.getPrimitiveClass("long"); |
构造方法
常用方法
比较
parseXXX系列
字符串解析 为 基本类型
不需要对象,所以都是静态方法
valueOf系列
把基本基本类型 包装为对象
用来创建获得对象,所以无需对象,全都是静态方法
VaueOf系列都有对应的缓存区, 缓存区范围内对象为同一个
缓冲区为静态内部类中的数组
缓冲范围为 -128~127
decode
接受通过以下语法给出的十进制、十六进制和八进制数字
Sign是可选的 表示符号位
再往后 DecimalNumeral 就是指定基数的字符序列的正值
不能是负数,想要设置负数请仅仅使用符号位 也就是+-1 --1这种肯定不行
|
Sign DecimalNumeral
Sign 0x HexDigits
Sign 0X HexDigits
Sign # HexDigits
Sign 0 OctalDigits
Sign:
-
+
|
与Integer中的decode方法一样 代码也都一模一样,除了Integer换成了Long |
XXXValue系列
获取对象的某种基本类型的值
需要获取对象的所以必然全部都是实例方法
强制类型转换的形式,将内部的long 值转换为指定的类型
toUnsignedString 系列 toString toXXXString 系列
无符号 字符串相关的转换
equals
hashCode
getXXX系列
获取系统属性的数值
其他方法
最高1 位 最低1 位 前置零个数 和 后置0个数 |
highestOneBit(long) / lowestOneBit(long)
numberOfLeadingZeros(long) / numberOfTrailingZeros(long)
|
位数 循环左移/循环右移 按位翻转 按照字节翻转 |
bitCount(long) 二进制补码表示形式中的 1 位的数量
rotateLeft(long, int) / rotateRight(long, int)
reverse(long) / reverseBytes(long)
|
取整 求余 |
divideUnsigned(long, long)
remainderUnsigned(long, long)
|
与Integer 一样, Long也有提供上述几个方法
语义一致
Long 与Integer 是数值类型中使用频率最高的两个,也是提供支持方法最多的两个
他们提供出来的方法功能也是高度的相似