`
leadtoit
  • 浏览: 61781 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

guava笔记8-Primitives

 
阅读更多
Java有8中基本数据类型:byte ,short,int,long,float,double,char,boolean。
Java并不存在unsigned类型,guava新定义了UnsignedInteger 和 UnsignedLong 分别表示int和long的无符号类型。

在com.google.common.primitives中提供了一些util类来对基本类型进行操作。

 

byte

BytesSignedBytesUnsignedBytes

short

Shorts

int

Ints, UnsignedInts

long

Longs,UnsignedLongs

float

Floats

double

Doubles

char

Chars

boolean

Booleans


针对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-30.0-jre-API文档-中文版.zip

    赠送jar包:guava-30.0-jre.jar; 赠送原API文档:guava-30.0-jre-javadoc.jar; 赠送源代码:guava-30.0-jre-sources.jar; 赠送Maven依赖信息文件:guava-30.0-jre.pom; 包含翻译后的API文档:guava-30.0-jre-...

    guava-25.0-jre-API文档-中文版.zip

    赠送jar包:guava-25.0-jre.jar; 赠送原API文档:guava-25.0-jre-javadoc.jar; 赠送源代码:guava-25.0-jre-sources.jar; 赠送Maven依赖信息文件:guava-25.0-jre.pom; 包含翻译后的API文档:guava-25.0-jre-...

    guava-27.0.1-jre-API文档-中文版.zip

    赠送jar包:guava-27.0.1-jre.jar; 赠送原API文档:guava-27.0.1-jre-javadoc.jar; 赠送源代码:guava-27.0.1-jre-sources.jar; 赠送Maven依赖信息文件:guava-27.0.1-jre.pom; 包含翻译后的API文档:guava-...

    guava-28.2-jre-API文档-中文版.zip

    赠送jar包:guava-28.2-jre.jar; 赠送原API文档:guava-28.2-jre-javadoc.jar; 赠送源代码:guava-28.2-jre-sources.jar; 赠送Maven依赖信息文件:guava-28.2-jre.pom; 包含翻译后的API文档:guava-28.2-jre-...

    guava-29.0-jre-API文档-中英对照版.zip

    赠送jar包:guava-29.0-jre.jar; 赠送原API文档:guava-29.0-jre-javadoc.jar; 赠送源代码:guava-29.0-jre-sources.jar; 赠送Maven依赖信息文件:guava-29.0-jre.pom; 包含翻译后的API文档:guava-29.0-jre-...

    guava-20.0-API文档-中文版.zip

    赠送jar包:guava-20.0.jar; 赠送原API文档:guava-20.0-javadoc.jar; 赠送源代码:guava-20.0-sources.jar; 赠送Maven依赖信息文件:guava-20.0.pom; 包含翻译后的API文档:guava-20.0-javadoc-API文档-中文...

    guava-28.2-jre-API文档-中英对照版.zip

    赠送jar包:guava-28.2-jre.jar; 赠送原API文档:guava-28.2-jre-javadoc.jar; 赠送源代码:guava-28.2-jre-sources.jar; 赠送Maven依赖信息文件:guava-28.2-jre.pom; 包含翻译后的API文档:guava-28.2-jre-...

    guava-26.0-android-API文档-中英对照版.zip

    赠送jar包:guava-26.0-android.jar; 赠送原API文档:guava-26.0-android-javadoc.jar; 赠送源代码:guava-26.0-android-sources.jar; 赠送Maven依赖信息文件:guava-26.0-android.pom; 包含翻译后的API文档:...

    guava-26.0-android-API文档-中文版.zip

    赠送jar包:guava-26.0-android.jar; 赠送原API文档:guava-26.0-android-javadoc.jar; 赠送源代码:guava-26.0-android-sources.jar; 赠送Maven依赖信息文件:guava-26.0-android.pom; 包含翻译后的API文档:...

    guava-24.1-jre-API文档-中英对照版.zip

    赠送jar包:guava-24.1-jre.jar; 赠送原API文档:guava-24.1-jre-javadoc.jar; 赠送源代码:guava-24.1-jre-sources.jar; 赠送Maven依赖信息文件:guava-24.1-jre.pom; 包含翻译后的API文档:guava-24.1-jre-...

    guava-23.0-API文档-中文版.zip

    赠送jar包:guava-23.0.jar; 赠送原API文档:guava-23.0-javadoc.jar; 赠送源代码:guava-23.0-sources.jar; 赠送Maven依赖信息文件:guava-23.0.pom; 包含翻译后的API文档:guava-23.0-javadoc-API文档-中文...

    guava-23.6-android

    guava-23.6-android guava 版本23.6的 jar 包

    guava-27.0-jre.jar

    guava-27.0-jre.jar

    guava-18.0-API文档-中文版.zip

    赠送jar包:guava-18.0.jar; 赠送原API文档:guava-18.0-javadoc.jar; 赠送源代码:guava-18.0-sources.jar; 包含翻译后的API文档:guava-18.0-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:...

    guava-27.1-jre.jar

    guava-27.1-jre

    guava-28.0-android-API文档-中文版.zip

    赠送jar包:guava-28.0-android.jar; 赠送原API文档:guava-28.0-android-javadoc.jar; 赠送源代码:guava-28.0-android-sources.jar; 赠送Maven依赖信息文件:guava-28.0-android.pom; 包含翻译后的API文档:...

    guava-20.0-API文档-中英对照版.zip

    赠送jar包:guava-20.0.jar; 赠送原API文档:guava-20.0-javadoc.jar; 赠送源代码:guava-20.0-sources.jar; 赠送Maven依赖信息文件:guava-20.0.pom; 包含翻译后的API文档:guava-20.0-javadoc-API文档-中文...

    最新版 guava-30.1-jre.jar

    最新版 guava-30.1-jre.jar

    guava-31.1-jre.jar

    guava

    guava-27.0.1-jre-API文档-中英对照版.zip

    赠送jar包:guava-27.0.1-jre.jar; 赠送原API文档:guava-27.0.1-jre-javadoc.jar; 赠送源代码:guava-27.0.1-jre-sources.jar; 赠送Maven依赖信息文件:guava-27.0.1-jre.pom; 包含翻译后的API文档:guava-...

Global site tag (gtag.js) - Google Analytics