[⼆]基础数据类型之Long详解
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>) PrimitiveClass("long");
构造⽅法
构造⽅法都是新创建对象,分配新的空间
字符串形式构造,默认以⼗进制的字符串形式解析
包装类
使⽤对应的基本数据类型long 构造
包装类
使⽤对应的基本数据类型long 的字符串String形式构造
常⽤⽅法
⽐较
static int compare(long x, long y)静态⽅法0  x == y; -1  x < y;
1    x > y
int compareTo(Long anotherLong)实例⽅法
两个对象进⾏⽐较  ,实际⽐较两个对象的value值根本还是通过调⽤ static int compare(long x, long y)
static int compareUnsigned(long x, long y)静态⽅法
两个基本类型int 当做⽆符号数进⾏⽐较通过+MIN_VALUE进⾏转换根本还是调⽤static int compare(long x, long y)
parseXXX系列
字符串解析为基本类型
不需要对象,所以都是静态⽅法
static long parseLong(String s, int radix)
静态⽅法
使⽤第⼆个参数指定的基数(进制),将字符串参数解析为有符号的整数
除了第⼀个字符可以是⽤来表⽰负值的 ASCII 减号 '-' ('\u002D’),加号'+' ('\u002B')  外字符串中的字符必须都是指定基数的数字
字符串中的字符必须都是指定基数的数字
static long parseLong(String s)
静态⽅法
static long parseLong(String s, int radix) 的⼗进制简化形式
static long parseUnsignedLong(String s, int radix)
静态⽅法
使⽤第⼆个参数指定的基数(进制),将字符串参数解析为⽆符号的整数除了第⼀个字符可以是⽤来表⽰正值的 ASCII  加号'+' ('\u002B')  外
字符串中的字符必须都是指定基数的数字
static long parseUnsignedLong(String s)
静态⽅法
static long parseUnsignedLong(String s, int radix)的⼗进制简化形式
valueOf系列
把基本基本类型包装为对象
⽤来创建获得对象,所以⽆需对象,全都是静态⽅法
VaueOf系列都有对应的缓存区, 缓存区范围内对象为同⼀个
缓冲区为静态内部类中的数组
缓冲范围为  -128~127
static Long valueOf(long l)
静态⽅法
读取缓存中的对象或者创建新的对象
static Integer valueOf(String s, int radix)
静态⽅法
根据指定的基数(进制)解析字符串
根本是调⽤static Long valueOf(long l)
static Long valueOf(String s)
静态⽅法
⼗进制解析字符串
static Long valueOf(String s, int radix) 的⼗进制简化形式
根本是调⽤static  Long valueOf(long l)
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 值转换为指定的类型
byte byteValue()
short shortValue()
int intValue()
long longValue()
float floatValue()
double doubleValue()
toUnsignedString 系列  toString  toXXXString  系列⽆符号字符串相关的转换
static String toString(long i, int radix)静态⽅法
根据指定基数,int    返回⼀个String
如果基数⼩于 Character.MIN_RADIX 或者⼤于 Character.MAX_RADIX,默认设置为基数 10
如果是负数第⼀个符号位负号 '-' ('\u002D'),如果不是负数,将不会有符号
剩下的字符表⽰第⼀个参数的⼤⼩
字符串是什么字段类型如果⼤⼩是0  由字符  '0' ('\u0030') 表⽰,否则⽤来表⽰数值的第⼀个字符不会是0
⽤以下 ASCII 字符作为数字:
0123456789abcdefghijklmnopqrstuvwxyz
其范围是从 '\u0030' 到 '\u0039' 和从 '\u0061' 到 '\u007A'
如果 radix 为 N, 则按照所⽰顺序,使⽤这些字符中的前 N 个作为其数字
因此,⼗六进制(基数为 16)的数字是 0123456789abcdef
static String toString(long i)静态⽅法
toString(long i, int radix)的⼗进制简化形式同toString(long i, 10)
String toString()实例⽅法
等同于把对象的value直接调⽤  toString(long i)
static String toBinaryString(long i)静态⽅法
以⼆进制(基数 2)⽆符号整数形式返回⼀个整数参数的字符串表⽰形式
static String toOctalString(long i)静态⽅法
以⼋进制(基数 8)⽆符号整数形式返回⼀个整数参数的字符串表⽰形式
static String toHexString(long i)静态⽅法
以⼗六进制(基数 16)⽆符号整数形式返回⼀个整数参数的字符串表⽰形式
static String toUnsignedString(long i, int radix)静态⽅法
在第⼆个参数指定的基数中,返回第⼀个参数的字符串表⽰的⽆符号整数值
如果基数不在Character.MIN_RADIX 和 Character.MAX_RADIX的范围内, 默认基数为10
如果⼤⼩是0,由字符零表⽰  '0' ('\u0030')
否则第⼀个字符不会是 0
基数和表⽰数字的字符的⽤法和表现和toString中⼀样
static String toUnsignedString(long i)静态⽅法
toUnsignedString(long i, int radix) ⼗进制的简化形式同toUnsignedString(int, 10)
equals
Long重写了equals⽅法
⽐较的是两个Long对象中内部的 long value值
hashCode
static int hashCode(long value)静态⽅法
返回某个long 数值的hashcode
int hashCode()实例⽅法
获取某个Long对象的hashcode
等同于static int hashCode(long value) 调⽤内部value值
getXXX系列
获取系统属性的数值
static Long getLong(String nm, Long val) 确定具有指定名称的系统属性的整数值
第⼀个参数被视为系统属性的名称
通过 Property(java.lang.String) ⽅法可以访问系统属性
第⼆个参数是默认值
如果未具有指定名称的属性,或者属性的数字格式不正确,或者指定名称为空或null
则返回⼀个表⽰第⼆个参数的值的 Integer 对象
static Long getLong(String nm, long val)static Long getLong(String nm, Long val)  的基本类型形式static Long getLong(String nm)
其他⽅法
最⾼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也有提供上述⼏个⽅法语义⼀致
static int signum(long i)静态⽅法
返回指定 int 值的符号函数
(如果指定值为负,则返回-1;如果指定值为零,则返回 0;如果指定的值为正,则返回 1)
static long sum(long a, long b)静态⽅法求和
static long max(long a, long b)静态⽅法最⼤值
static long min(long a, long b)静态⽅法最⼩值
Long 与Integer 是数值类型中使⽤频率最⾼的两个,也是提供⽀持⽅法最多的两个他们提供出来的⽅法功能也是⾼度的相似

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。