📅  最后修改于: 2023-12-03 15:02:05.300000             🧑  作者: Mango
Byte 类型是 Java 中数值类型之一,表示占有 8 位的有符号整数,范围是从 -128 到 127。Bytes 类是 Google Guava 中的一个类,提供了一些方法来操作 Byte 类型的数组。其中一个常用的方法是 toArray(),它的作用是将 Bytes 转换成 byte 数组。
public static byte[] toArray(Iterable<Byte> iterable)
toArray()
方法接收一个 Byte 类型的 Iterable,返回一个 byte 数组。它的实现方式如下:
public static byte[] toArray(Iterable<Byte> iterable) {
// 计算数组长度
long size = MoreIterables.size64(iterable);
checkArgument(size <= Integer.MAX_VALUE, "Too many elements: %s", size);
byte[] result = new byte[(int) size];
// 将 Byte 类型转换成 byte 类型
int index = 0;
for (Byte b : iterable) {
result[index++] = b;
}
return result;
}
如上代码所示,toArray() 方法的实现方式如下:
下面是一段使用 Guava 的 toArray() 方法的示例代码:
import com.google.common.primitives.Bytes;
import java.util.ArrayList;
import java.util.List;
public class Example {
public static void main(String[] args) {
List<Byte> list = new ArrayList<>();
list.add((byte)1);
list.add((byte)2);
list.add((byte)3);
byte[] result = Bytes.toArray(list);
System.out.println(Arrays.toString(result)); // [1, 2, 3]
}
}
上面的代码展示了如何将 List
要注意的是,如果传递给 toArray() 方法的 iterable 为空,则返回的是一个长度为零的 byte 数组。