方式一 可能效率比较高
private static boolean isEmpty(final byte[] array) {
int sum = 0;
for (byte b : array) {
sum |= b;
}
return (sum == 0);
}
方式二 jdk8可以使用
public static boolean isEmpty(final byte[] data){
return IntStream.range(0, data.length).parallel().allMatch(i -> data[i] == 0);
}
方式三 可以反过来想判断里面是否有不等于0的
private static boolean isEmpty(final byte[] array) {
for (byte b : array) {
if (b != 0) {
return false;
}
}
}
文章介绍了三种检查byte数组是否全部为0的方法,包括传统循环、JDK8的并行流以及直接返回反面条件。对比中提到,方式一可能具有较高效率,而方式二是利用JDK8的新特性进行并行处理,方式三则是通过反向逻辑直接找出非零元素。
1346

被折叠的 条评论
为什么被折叠?



