教程 > Guava 教程 > Guava 基础 阅读:14

Guava Longs 类

返回 Guava Primitive 实用程序


Longs 是原始类型 long 的实用程序类。


类声明

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

@GwtCompatible
public final class Longs
   extends Object

字段

序号 字段 说明
1 static int BYTES 表示原始 long 值所需的字节数。
2 static short MAX_POWER_OF_TWO 可以表示为 long 的最大的两个幂。

类方法

序号 方法 说明
1 static List<Long> asList(long... backingArray) 返回由指定数组支持的固定大小列表,类似于 Arrays.asList(Object[])
2 static int compare(long a, long b) 比较两个指定的 long 值。
3 static long[] concat(long[]... arrays) 将每个提供的数组中的值返回到一个数组中。
4 static boolean contains(long[] array, long target) 如果目标作为元素出现在数组中的任何位置,则返回 true。
5 static long[] ensureCapacity(long[] array, int minLength, int padding) 返回包含与数组相同值的数组,但保证具有指定的最小长度。
6 static long fromByteArray(byte[] bytes) 返回 long 值,其 big-endian 表示存储在字节的前 8 个字节中; 相当于 ByteBuffer.wrap(bytes).getLong()
7 static long fromBytes(byte b1, byte b2, byte b3, byte b4, byte b5, byte b6, byte b7, byte b8) 返回 long 值,其字节表示为给定的 8 个字节,按大端顺序排列; 相当于 Longs.fromByteArray(new byte[] {b1, b2, b3, b4, b5, b6, b7, b8})
8 static int hashCode(long value) 返回值的哈希码; 等于调用 ((Long) value).hashCode() 的结果。
9 static int indexOf(long[] array, long target) 返回值 target 在数组中第一次出现的索引。
10 static int indexOf(long[] array, long[] target) 返回指定 target 在数组中第一次出现的起始位置,如果不存在则返回 -1。
11 static String join(String separator, long... array) 返回一个字符串,其中包含由分隔符分隔的提供的 long 值。
12 static int lastIndexOf(long[] array, long target) 返回值 target 在数组中最后一次出现的索引。
13 static Comparator<long[]> lexicographicalComparator() 返回一个按字典顺序比较两个长数组的比较器。
14 static long max(long... array) 返回数组中存在的最大值。
15 static long min(long... array) 返回数组中存在的最小值。
16 static Converter<String,Long> stringConverter() 返回一个可序列化的转换器对象,该对象使用 Long.decode(java.lang.String)Long.toString() 在字符串和长整数之间进行转换。
17 static long[] toArray(Collection<? extends Number> collection) 返回一个数组,其中包含集合的每个值,以 Number.longValue() 的方式转换为 long 值。
18 static byte[] toByteArray(long value) 返回 8 元素字节数组中值的大端表示; 相当于 yteBuffer.allocate(8).putLong(value).array()
19 static Long tryParse(String string) 将指定的字符串解析为带符号的十进制长值。

方法继承

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

  • java.lang.Object

Longs 类示例

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

GuavaTester.java

import java.util.List;

import com.google.common.primitives.Ints;
import com.google.common.primitives.Longs;

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

   private void testLongs() {
      long[] longArray = {1,2,3,4,5,6,7,8,9};

      //将基元数组转换为对象数组
      List<Long> objectArray = Longs.asList(longArray);
      System.out.println(objectArray.toString());

      //将对象数组转换为基元数组
      longArray = Longs.toArray(objectArray);
      System.out.print("[ ");
      
      for(int i = 0; i< longArray.length ; i++) {
         System.out.print(longArray[i] + " ");
      }
      
      System.out.println("]");
      
      //检查元素是否存在于基元列表中
      System.out.println("5 is in list? "+ Longs.contains(longArray, 5));

      //返回最小值
      System.out.println("Min: " + Longs.min(longArray));

      //返回最大值
      System.out.println("Max: " + Longs.max(longArray));

      //从整数中获取字节数组
      byte[] byteArray = Longs.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 0 0 0 0 78 32 

返回 Guava Primitive 实用程序

查看笔记

扫码一下
查看教程更方便