美文网首页
Google Guava 原生类型

Google Guava 原生类型

作者: tuacy | 来源:发表于2019-07-16 19:22 被阅读0次

       这一章我们主要讲Guava 里面针对Java的原生类型(byte、short、int、long、float、double、char、boolean)提供的一些工具类。里面的内容也很简单。

一 工具类

       JAVA 原生类型对应的工具类

原生类型 Guava工具类(都在com.google.common.primitives包)
byte Bytes, SignedBytes, UnsignedBytes
short Shorts
int Ints, UnsignedInteger, UnsignedInts
long Longs, UnsignedLong, UnsignedLongs
float Floats
double Doubles
char Chars
boolean Booleans

       上面这些工具类(Bytes、Ints等等)里面的工具方法都大体相同,很多连名字都是一样的,所以这里我们就值只列出Ints里面的一些常用方法。如下:

Ints static方法 解释
int checkedCast(long value) long转换为int,给定的值超过了int最大值,最小值则IllegalArgumentException
int saturatedCast(long value) long转换为int。超过最大值为Integer.MAX_VALUE,小于最小值Integer.MIN_VALUE
int compare(int a, int b) 比较
boolean contains(int[] array, int target) 是否包含
int indexOf(int[] array, int target) 数组下标
int indexOf(int[] array, int[] target) 数组下标
int lastIndexOf(int[] array, int target) 最后一次出现的下标
int min(int... array) 最小值
int max(int... array) 最大值
int constrainToRange(int value, int min, int max) [min,max]区间里面最接近value的值
int[] concat(int[]... arrays) 多个数组组合成一个数组
byte[] toByteArray(int value) int转byte数组
int fromByteArray(byte[] bytes) byte数组转int
int fromBytes(byte b1, byte b2, byte b3, byte b4) byte转int
Converter<String, Integer> stringConverter() String转int
int[] ensureCapacity(int[] array, int minLength, int padding) 返回一个包含与array相同值的数组,如果原数组长度小于minLength则进行拷贝操作并且保证新数组长度为minLength + padding,否则直接返回原数组
String join(String separator, int... array) 多个int拼接成一个字符串
Comparator<int[]> lexicographicalComparator() 返回一个比较int数组的比较器
void sortDescending(int[] array) 降序排序
void sortDescending(int[] array, int fromIndex, int toIndex) 降序排序
void reverse(int[] array) 反转
void reverse(int[] array, int fromIndex, int toIndex) 反转
int[] toArray(Collection<? extends Number> collection) 转换成数组
List<Integer> asList(int... backingArray) 转换成list
Integer tryParse(String string) string转int
Integer tryParse(String string, int radix) string转int

二 无符号支持

       JDK原生类型包装类提供了针对有符号类型的方法,而UnsignedInts和UnsignedLongs工具类提供了相应的无符号通用方法。UnsignedInts和UnsignedLongs直接处理原生类型:使用时,由你自己保证只传入了无符号类型的值。此外,对int和long,Guava提供了无符号包装类(UnsignedInteger和UnsignedLong),来帮助你以极小的性能消耗,对有符号和无符号类型进行强制转换。

       关于UnsignedInteger和UnsignedLong。以及他俩对应的工具类UnsignedInts和UnsignedLongs已改就不用列出里面的方法了。都是很常规的一些方法。大家一看api的解释就能明白了。

相关文章

网友评论

      本文标题:Google Guava 原生类型

      本文链接:https://www.haomeiwen.com/subject/uxcxlctx.html