Guava Longs类
Longs是基本类型long的实用工具类。
类声明
以下是com.google.common.primitives.Longs类的声明:
@GwtCompatible public final class Longs extends Object
字段
S.N. | 字段及说明 |
---|---|
1 |
static int BYTES 所需要的字节数来表示一个原始long 值。 |
2 |
static long MAX_POWER_OF_TWO 两个最大幂可以被表示为一个long。 |
方法
S.N. | 方法及说明 |
---|---|
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,如果target是否存在在任何地方数组元素。 |
5 |
static long[] ensureCapacity(long[] array, int minLength, int padding) 返回一个包含相同的值数组的数组,但保证是一个规定的最小长度。 |
6 |
static long fromByteArray(byte[] bytes) 返回long值,其大端表示存储在头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个字节,在big-endian的顺序;相当于 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) 返回目标数组的首次出现的索引值。 |
10 |
static int indexOf(long[] array, long[] 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() 返回一个比较,比较两个long数组字典顺序。 |
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) 返回包含集合的每个值的数组,转换为一个long值的方式Number.longValue(). |
18 |
static byte[] toByteArray(long value) 返回字节数组值大端在8元素的表示;相当于 ByteBuffer.allocate(8).putLong(value).array(). |
19 |
static Long tryParse(String string) Parses the specified string as a signed decimal long value. |
继承的方法
这个类继承了以下类方法:
-
java.lang.Object
Longs 示例
使用所选择的任何编辑器创建下面的java程序 C:/> Guava
GuavaTester.javaimport 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}; //convert array of primitives to array of objects List<Long> objectArray = Longs.asList(longArray); System.out.println(objectArray.toString()); //convert array of objects to array of primitives longArray = Longs.toArray(objectArray); System.out.print("[ "); for(int i = 0; i< longArray.length ; i++){ System.out.print(longArray[i] + " "); } System.out.println("]"); //check if element is present in the list of primitives or not System.out.println("5 is in list? "+ Longs.contains(longArray, 5)); //Returns the minimum System.out.println("Min: " + Longs.min(longArray)); //Returns the maximum System.out.println("Max: " + Longs.max(longArray)); //get the byte array from an integer 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