Guava - Ints 类

Ints 是基本类型 int 的实用程序类。

类声明

以下是 com.google.common.primitives.Ints 类的声明 −

@GwtCompatible
public final class Ints
   extends Object

Fields

Sr.No 字段和描述
1

static int BYTES

表示原始 int 值所需的字节数。

2

static int MAX_POWER_OF_TWO

可以用 int 表示的最大的 2 的幂。

方法

Sr.No 方法及描述
1

static List<Integer> asList(int... backingArray)

返回由指定数组支持的固定大小列表,类似于 Arrays.asList(Object[])。

2

static int checkedCast(long value)

如果可能,返回等于 value 的 int 值。

3

static int compare(int a, int b)

比较两个指定的 int 值。

4

static int[] concat(int[]... arrays)

返回每个提供的数组中组合成单个数组的值。

5

static boolean contains(int[] array, int target)

如果目标作为元素出现在数组中的任何位置,则返回 true。

6

static int[] ensureCapacity(int[] array, int minLength, int padding)

返回一个包含与数组相同值的数组,但保证具有指定的最小长度。

7

static int fromByteArray(byte[] bytes)

返回int值,其big-endian表示存储在字节的前4个字节中; 相当于 ByteBuffer.wrap(bytes).getInt()。

8

static int fromBytes(byte b1, byte b2, byte b3, byte b4)

返回 int 值,其字节表示为给定的 4 个字节,按大端顺序; 等价于 Ints.fromByteArray(new byte[] {b1, b2, b3, b4})。

9

static int hashCode(int value)

返回值的哈希码; 等于调用 ((Integer) value).hashCode() 的结果。

10

static int indexOf(int[] array, int target)

返回值目标在数组中第一次出现的索引。

11

static int indexOf(int[] array, int[] target)

返回数组中指定目标第一次出现的起始位置,如果没有出现,则返回 -1。

12

static String join(String separator, int... array)

返回一个字符串,其中包含由分隔符分隔的提供的 int 值。

13

static int lastIndexOf(int[] array, int target)

返回值目标在数组中最后一次出现的索引。

14

static Comparator<int[]> lexicographicalComparator()

返回一个比较器,按字典顺序比较两个 int 数组。

15

static int max(int... array)

返回数组中存在的最大值。

16

static int min(int... array)

返回数组中存在的最小值。

17

static int saturatedCast(long value)

返回值最接近的 int。

18

static Converter<String,Integer> stringConverter()

返回一个可序列化的转换器对象,该对象使用 Integer.decode(java.lang.String) 和 Integer.toString() 在字符串和整数之间进行转换。

19

static int[] toArray(Collection<? extends Number> collection)

返回一个包含集合中每个值的数组,通过Number.intValue()的方式转换为int值。

20

static byte[] toByteArray(int value)

返回 4 元素字节数组中值的大端表示; 相当于 ByteBuffer.allocate(4).putInt(value).array()。

21

static Integer tryParse(String string)

将指定字符串解析为带符号的十进制整数值。

继承的方法

该类继承了以下类的方法 −

  • java.lang.Object

Ints 类的示例

使用您在 C:/> Guava 中选择的任何编辑器创建以下 java 程序。

GuavaTester.java

import java.util.List;

import com.google.common.primitives.Ints;

public class GuavaTester {

   public static void main(String args[]) {
      GuavaTester tester = new GuavaTester();
      tester.testInts();
   }

   private void testInts() {
      int[] intArray = {1,2,3,4,5,6,7,8,9};

      //convert array of primitives to array of objects
      List<Integer> objectArray = Ints.asList(intArray);
      System.out.println(objectArray.toString());

      //convert array of objects to array of primitives
      intArray = Ints.toArray(objectArray);
      System.out.print("[ ");
      
      for(int i = 0; i< intArray.length ; i++) {
         System.out.print(intArray[i] + " ");
      }
      
      System.out.println("]");
      
      //check if element is present in the list of primitives or not
      System.out.println("5 is in list? " + Ints.contains(intArray, 5));

      //Returns the minimum		
      System.out.println("Min: " + Ints.min(intArray));

      //Returns the maximum		
      System.out.println("Max: " + Ints.max(intArray));

      //get the byte array from an integer
      byte[] byteArray = Ints.toByteArray(20000);
      
      for(int i = 0; i< byteArray.length ; i++) {
         System.out.print(byteArray[i] + " ");
      }
   }
}

验证结果

使用javac编译器编译类,如下所示 −

C:\Guava>javac GuavaTester.java

现在运行 GuavaTester 查看结果。

C:\Guava>java GuavaTester

查看结果。

[1, 2, 3, 4, 5, 6, 7, 8, 9]
[ 1 2 3 4 5 6 7 8 9 ]
5 is in list? true
Min: 1
Max: 9
0 0 78 32 

guava_primitive_utilities.html