教程列表
- Guava Optional类详解-处理null值
- Guava Preconditions类-检查参数
- Guava Ordering类处理排序功能
- Guava Objects类详解
- Guava Range类-范围处理
- Guava Throwables类-异常处理
- Guava 集合处理-Multiset接口
- Guava集合处理- Bimap接口
- Guava集合工具类-Table接口映射处理
- Guava字符串连接-Joiner类
- Guava字符串分割处理-Spiltter类
- Guava CharMatcher类处理JAVA char类型值
- Guava ASCII字符转换 CaseFormat类
- Guava处理java byte类型工具类-Bytes类
- Guava 处理java short实用工具类-Shorts类
- Guava处理java int实用工具类-Ints类
- Guava Longs类-long的实用工具类
- Guava Floats类-float基本类型的实用工具类
- Guava Doubles类-double基本类型的实用工具类
- Guava Chars类-char类型的实用工具类
- Guava Booleans类-布尔型基本的实用工具类
- Guava IntMath类-提供整型的Math实用方法
- Guava LongMath类-long基础类型的Math实用方法
- Guava Multimap类-映射到多个值
- Guava cache缓存工具类
开源项目
知识点
相关文章
更多最近更新
更多Guava处理java byte类型工具类-Bytes类
2019-04-23 23:15|来源: 网路
Bytes是byte的基本类型实用工具类。
类声明
以下是com.google.common.primitives.Bytes类的声明:
@GwtCompatiblepublic final class Bytes extends Object
方法:
S.N. | 方法及说明 |
---|---|
1 | static List<Byte> asList(byte... backingArray) 返回由指定数组支持的固定大小的列表,类似 Arrays.asList(Object[]). |
2 | static byte[] concat(byte[]... arrays) 则返回来自每个阵列提供组合成一个单一的阵列值。 |
3 | static boolean contains(byte[] array, byte target) 返回true,如果目标是否存在在任何地方数组元素。 |
4 | static byte[] ensureCapacity(byte[] array, int minLength, int padding) 返回一个包含相同的值数组的数组,但保证是一个规定的最小长度。 |
5 | static int hashCode(byte value) 返回哈希码的值;等于调用的结果 ((Byte) value).hashCode(). |
6 | static int indexOf(byte[] array, byte target) 返回目标数组的首次出现的索引值。 |
7 | static int indexOf(byte[] array, byte[] target) 返回指定目标的第一个匹配的起始位置数组内,或-1如果不存在。 |
8 | static int lastIndexOf(byte[] array, byte target) 返回目标在数组中最后一个出场的索引的值。 |
9 | static byte[] toArray(Collection<? extends Number> collection) 返回包含集合的每个值的数组,转换为字节值中的方式Number.byteValue(). |
继承的方法
这个类继承了以下类方法:
java.lang.Object
Bytes 示例
使用所选择的编辑器创建下面的java程序 C:/> Guava
GuavaTester.java
import java.util.List; import com.google.common.primitives.Bytes; public class GuavaTester { public static void main(String args[]){ GuavaTester tester = new GuavaTester(); tester.testBytes(); } private void testBytes(){ byte[] byteArray = {1,2,3,4,5,5,7,9,9}; //convert array of primitives to array of objects List<Byte> objectArray = Bytes.asList(byteArray); System.out.println(objectArray.toString()); //convert array of objects to array of primitives byteArray = Bytes.toArray(objectArray); System.out.print("[ "); for(int i = 0; i< byteArray.length ; i++){ System.out.print(byteArray[i] + " "); } System.out.println("]"); byte data = 5; //check if element is present in the list of primitives or not System.out.println("5 is in list? "+ Bytes.contains(byteArray, data)); //Returns the index System.out.println("Index of 5: " + Bytes.indexOf(byteArray,data)); //Returns the last index maximum System.out.println("Last index of 5: " + Bytes.lastIndexOf(byteArray,data)); } }
验证结果
使用javac编译器编译如下类
C:\Guava>javac GuavaTester.java
现在运行GuavaTester看到的结果
C:\Guava>java GuavaTester
看到结果。
[1, 2, 3, 4, 5, 5, 7, 9, 9] [ 1 2 3 4 5 5 7 9 9 ] 5 is in list? true Index of 5: 4 Last index of 5: 5
相关问答
更多-
使用java 8流API看起来相当不错: java.util.Collection
idToDelete = currentB.stream() //get the stream .filter(b -> !newA.contains(b.getA())) // filter those b, whose A is in newA .map(b -> b.getA().id) // map transform to get just an Id ... -
严重的是,番石榴一切都很有用。 我一直在使用它一段时间,而且我仍然总是发现一些新的东西,它可以减少代码而不是用手做的。 有些事情其他人并没有真正提到我爱: Multimap只是很棒。 任何时候,您都可以使用Map
> ,使用多重图形,并为您自定义一个繁琐的检查映射到一个键的现有集合,如果不存在则创建和添加它。 Ordering对于构建Comparator是非常好的,它们的行为只是你想要的。 Maps.uniqueIndex和Multimaps.index :这些方法采 ... -
java8 lambda实际上是接口java.util.function.Function的实现 不,这不对。 p -> p.getAge()没有预定义的类型 - 它的类型是在编译时推断的 ,具体取决于调用它的上下文。 任何具有int/Integer getAge(Person p)方法的函数接口都可以使用。 因此java.util.Function
和com.google.common.base.Function 都是兼容的。 the jav ... -
不兼容的类型Guava Immutable Map to Java util map(Incompatible types Guava Immutable Map to Java util map)[2022-06-23]
Lombok检测到ImmutableMap>作为类型,它与Map >不兼容ImmutableMap > 此处 。 要修复,只需明确声明类型: Map > input = ImmutableMap.of(key1, ImmutableMap.of(key2, ... -
通过一系列这样的链式调用,编译器无法推断调用naturalOrder()的类型参数,因为它的结果不会立即分配给可用于推理的内容。 你可以写 ImmutableSortedSet
ok = ImmutableSortedSet. naturalOrder().build(); 要么 ImmutableSortedSet.Builder builder = ImmutableSortedSet.naturalOrder(); // ... ImmutableSor ... -
好吧,你不会在创建的线程中做任何事情,除了创建一个最终在堆中的对象(在线程之间共享),但由于对它的引用是在运行后没有保持,所以它也丢失了。 myObject @Subscribe方法在调用eventBus.post(event);的同一个线程中调用eventBus.post(event); 而不是在创建myObject的线程中。 我发现的奇怪的事情是我在MyObject类中的订阅方法的所有操作/日志记录都在主线程中再次执行 如果你的MyObject类有一个@Subscribe方法,那么为什么它需要构造函数中 ...
-
使用Java / Guava可选
类来创建和处理对象的矩阵(Using Java/Guava Optional [2021-12-26]class to create and handle matrices of objects) 我修复了代码中的一些错误,并添加了注释来解释: class MatrixOfObjects { // class declaration should not have a "()" private Optional[][] map_use; public MatrixOfObjects(Integer nRows, Integer nCols) { map_use = (Optional [][]) new Opt ... -
因为你对com.google.guava:guava:23.3 org.seleniumhq.selenium:selenium-java:3.0.1依赖性com.google.guava:guava:23.3使用org.seleniumhq.selenium:selenium-java:3.0.1可能会让你在十字路口。 但是Selenium发行说明清楚地提到了以下番石榴依赖性: Selenium v2.49.0 :Bump guava到19版 Selenium v3.1.0 :需要更新最新的番石榴版本21 ...
-
AbstractScheduledServiced实现Service 。 Service接口描述了生命周期方法,包括startAsync 。 ServiceState枚举文字包含有关其含义的文档。 处于NEW状态的服务(刚刚创建): 处于此状态的服务处于非活动状态。 它做的工作量极少,占用资源极少。 要使服务执行某些有用的操作,您必须将其转换为RUNNING状态 此状态下的服务正在运行。 这就是为什么你必须在它做任何事之前启动服务的原因。 我还建议不要从构造函数中调用startAsync,而是从创建MySe ...
-
在Java 8中用Guava将两个列表拖入一个不可变的多图中?(Zip two lists into an immutable multimap in Java 8 with Guava?)[2022-11-24]
我认为你的程序代码已经是最优的解决方案(无论是在内存和速度方面,假设随机访问列表)。 用小的更正,以便您的代码编译,它将是: ImmutableListMultimap.Builderbuilder = ImmutableListMultimap.builder(); for (int i = 0; i < Math.min(keys.size(), values.size()); i++) { builder.put(keys.get(i), values.get(i)); ...