Guava - Shorts 类



Shorts 是一个用于原生类型 short 的工具类。

类声明

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

@GwtCompatible
public final class Shorts
   extends Object

字段

序号 字段及描述
1

static int BYTES

表示一个原生 short 值所需的字节数。

2

static short MAX_POWER_OF_TWO

可以表示为 short 的最大 2 的幂。

方法

序号 方法及描述
1

static List<Short> asList(short... backingArray)

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

2

static short checkedCast(long value)

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

3

static int compare(short a, short b)

比较两个指定的 short 值。

4

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

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

5

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

如果 target 作为元素存在于数组中的任何位置,则返回 true。

6

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

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

7

static short fromByteArray(byte[] bytes)

返回其大端表示存储在 bytes 的前 2 个字节中的 short 值;等效于 ByteBuffer.wrap(bytes).getShort()。

8

static short fromBytes(byte b1, byte b2)

返回其字节表示为给定的 2 个字节的 short 值,以大端顺序;等效于 Shorts.fromByteArray(new byte[] {b1, b2})。

9

static int hashCode(short value)

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

10

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

返回 target 在数组中第一次出现时的索引。

11

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

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

12

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

返回一个包含由分隔符分隔的提供的 short 值的字符串。

13

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

返回 target 在数组中最后一次出现时的索引。

14

static Comparator<short[]> lexicographicalComparator()

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

15

static short max(short... array)

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

16

static short min(short... array)

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

17

static short saturatedCast(long value)

返回最接近 value 的 short 值。

18

static Converter<String,Short> stringConverter()

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

19

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

返回一个包含集合中每个值的数组,以 Number.shortValue() 的方式转换为 short 值。

20

static byte[] toByteArray(short value)

返回 value 在 2 元素字节数组中的大端表示;等效于 ByteBuffer.allocate(2).putShort(value).array()。

继承的方法

此类继承自以下类的方法:

  • java.lang.Object

Shorts 类的示例

使用您选择的任何编辑器创建以下 Java 程序,例如在C:/> Guava目录下。

GuavaTester.java

import java.util.List;

import com.google.common.primitives.Shorts;

public class GuavaTester {

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

   private void testShorts() {
      short[] shortArray = {1,2,3,4,5,6,7,8,9};

      //convert array of primitives to array of objects
      List<Short> objectArray = Shorts.asList(shortArray);
      System.out.println(objectArray.toString());

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

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

      //Returns the maximum		
      System.out.println("Max: " + Shorts.max(shortArray));
      data = 2400;
      
      //get the byte array from an integer
      byte[] byteArray = Shorts.toByteArray(data);
      
      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
9 96 
guava_primitive_utilities.htm
广告