toXXXString就是转换为String形式 具体的XXX是什么就是转换为 什么 toString(long, int)转换为指定进制表示的字符串形式,toString(long)为简化版默认十进制 | toString(long) toString(long, int) |
toUnsignedString(long, int)转换为指定进制表示的无符号整数的字符串形式 toUnsignedString(long)为简化版默认十进制 | toUnsignedString(long, int) toUnsignedString(long) |
以十六进制无符号整数形式返回 long 参数的字符串表示形式 以八进制无符号整数形式返回 long 参数的字符串表示形式 以二进制无符号整数形式返回 long 参数的字符串表示形式 | toHexString(long) toOctalString(long) toBinaryString(long) |
parseLong 都是将字符串解析为long, 基本类型! parseLong(String, int)将 string 参数解析为第二个参数指定进制形式的有符号的 long parseLong(String)为简化形式,默认十进制 parseUnsignedLong是parseLong的无符号形式 类似,双参数指定基数进制,单参数默认十进制 使用时需要注意,对应基数(进制)的转换,需要对应的字符,比如十进制你就不能出现十六进制的A | parseLong(String, int) parseLong(String) parseUnsignedLong(String, int) parseUnsignedLong(String) |
valueOf都是将字符串解析为Long, 包装类型 但是,在-128~127之间会使用缓存的值,不在范围内的创建新对象 所以,除非有必要特意创建对象,否则应该使用这个来获取Long对象 valueOf(String, int) 转换指定基数的字符串为Long, valueOf(String)为他的十进制形式 | valueOf(String, int) valueOf(String) valueOf(long) |
| hashCode(long) |
对于基本类型long的求和 和 大小比较,返回符合条件的long | sum(long, long) max(long, long) min(long, long) |
可以直接将指定形式的字符串进行解析 根据字符串的前缀进行自动匹配 然后,返回一个Long | decode(String) |
比较大小与无符号比较大小
无符号的先转换下,然后调用compare
| compare(long, long) compareUnsigned(long, long) |
无符号的商与求余 | divideUnsigned(long, long) remainderUnsigned(long, long) |
返回符号 如果指定值为负,则返回值 -1 如果指定值为零,则返回 0 如果指定值为正,则返回 1 | signum(long) |
reverse表示翻转,翻转就是从前往后颠倒过来 逐个比特进行翻转 或者逐个字节(也就是8位为一个单位)进行翻转
看下图就很容易理解 188的二进制 1011 1100 | reverse(long) reverseBytes(long) |
rotate表示循环移位 循环左移和循环右移 移位负数距离等同于另一个方向的移位
| rotateLeft(long, int) rotateRight(long, int) |
api解释比较抽象,直白的说就是二进制补码序列中 选择从左边开始数(高位)第一个1 或者从右边开始数(低位)第一个1 其余的位置全都写0 所以,对于highestOneBit 如果是0 返回0 ,因为没有一个1 如果是负数,返回的就是最左边一位是1 其余全都是0 也就是Long的最小值 如果是正数,第一位就是原来的最高位,但是抹掉了所有的零头,就是小于等于这个数的第一个2的N次方 对于highestOneBit 如果是0 返回0 否则返回的将是2的N次方 形如1 ....n个零 | highestOneBit(long) lowestOneBit(long) |
与highestOneBit 和 lowestOneBit,本质是互通的,找到了1的位置也就知道了0的个数 知道了0的个数,也就找到了1的位置 返回的是这两个位置的地方,左边和右边的零的个数
| numberOfLeadingZeros(long) numberOfTrailingZeros(long) |
返回二进制补码形式下1的个数
| bitCount(long) |