guava笔记8-Primitives 博客分类: java相关guava
Java并不存在unsigned类型,guava新定义了UnsignedInteger 和 UnsignedLong 分别表示int和long的无符号类型。
在com.google.common.primitives中提供了一些util类来对基本类型进行操作。
byte |
|
short |
|
int |
|
long |
|
float |
|
double |
|
char |
|
boolean |
针对byte,提供了Bytes, SignedBytes, UnsignedBytes三个帮助类,分别针对不关心符号,有符号,无符号三种类型的byte数据。Bytes里面的方法很基本,无论有无符号,都能使用。
针对int和long,提供了Xxxs及UnsignedXxxs分别对有符号和无符号的类型进行处理。
这些util类主要提供的方法包括:
(1)对数组进行操作:
asList:把数组转换为对应的List。
toArray:把集合转化为数组
concat:把多个数组合并为一个数组
contains:判断数组中是否包含元素
indexOf:查找数组中元素出现的位置
lastIndexOf:查找数组总元素最后出现的位置
min:查找数组中最小的元素
max:查找元素中最大的元素
join:把数组按指定分隔符拼接为字符串
lexicographicalComparator:字典序比较器
(2)与字节数组相互转换:(big-endian存储法)
常量BYTES:表示这种类型需要多少个字节来表示
fromByteArray:从字节数组转化为该类型数据
fromBytes:同上,不过参数类型是变长字节
toByteArray:转换为字节数组
(3)比较及转换:
compare:比较大小
Ints.checkedCast:把long转化为int,超过范围则抛异常
Ints.saturatedCast:把long转化为int,超过范围则用最接近的int替代
(4)UnsignedInteger和UnsignedLong类型特有的方法:
add加法
Subtract 减法
multiply 乘法
divide 除法
remainder 取余
valueOf bigint或者long转换为无符号类型
asUnsigned 基本数据转换为无符号类型
bigIntegerValue:转换为bigint
parseUnsignedXxx:字符串转化为无符号数据
toString:无符号数据转化为字符串
推荐阅读
-
guava笔记8-Primitives 博客分类: java相关guava
-
guava笔记10-IO 博客分类: guavajava相关
-
guava笔记6-Strings 博客分类: guavajava相关
-
guava笔记9-Ranges 博客分类: guava
-
guava笔记10-IO 博客分类: guavajava相关
-
guava笔记5-并发 博客分类: guavajava相关
-
guava笔记14-Reflection 博客分类: java相关guava
-
guava笔记7-Networking 博客分类: java相关guava
-
guava笔记12-EventBus 博客分类: guavajava相关
-
Java缓存技术-google guava cache 博客分类: Java