美文网首页
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