JAVA源码之Lang包深入研究Long

Long  64位的长数据类型   继承自Number 实现 Comparable<Long>接口.   共实现接口数:2

有3个@Native注释的属性(最大值,最小值,位数),2个私有属性(value , BYTES=8)

主要方法toString(long i, int radix),是以radix为基数,获取 i 的值   如toString(1000L,8)  得到1750.

方法实现为:创建65长度的byte数组,把传入的 i 转为负数,循环对radix取模,并且将 i = i /radix;得到的模倒序存入byte数组中,如果 i 本身就是负数 则在byte数组最前位置 添加  - ,然后将byte数组交给 new String()进行转化为字符串返回.在JDK9后进行StringUTF16增强

toUnsignedString(long i, int radix)  将 i 打印为没有符号表示的数  (JAVA采用的是补码方式对数据进行表示),i  不为负数 交给toString(Long i, int radix)处理, i为负数 则最终交由 toUnsignedString0(long i, int shift) 处理.  (未完待续)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值