Java中的byte []操作

时间:2010-03-30 15:34:48

标签: java android

假设我有字节数组:

byte[] arr = new byte[] { 0, 1, 2, 3, 4 };

平台是否具有可用于播放此数组的功能 - 例如,如何反转它(获得4,3,2,1,0)?或者,如何反转它的一部分(2,1,0,3,4)?获取数组(0,1,2,3)的一部分?

我知道我可以手动编写函数,但我很好奇,如果我在平台上缺少有用的函数函数,我应该知道(并且找不到任何有用的指南使用谷歌)。

谢谢!

3 个答案:

答案 0 :(得分:2)

Arrays类中有一些静态方法(我不知道dalvik / android的可用性)

答案 1 :(得分:1)

java.util.Arrays包含几个辅助方法(sort()equals()fill()toString())。如果这还不够,您可以将byte原语转换为Byte对象(创建一个新数组)并使用new ArrayList (Arrays.asList())获取可以使用多种方法修改的集合来自java.util.Collections

如果你在RT之外看,有Commons Primitives

  

Commons Primitives提供了一个专门设计用于原始类型的集合和实用程序库。

另一个选项是guava-libraries项目,它也支持基元:

  

该项目包含我们在无数Java项目中使用的几个Google核心Java库。

答案 2 :(得分:1)

java.util.Arrays在标准API中有一些与数组相关的实用程序方法。来自Apache Commons Lang的ArrayUtils还有更多。

但是请注意,Java没有将数组切片的概念作为“视图”,即这种方法返回的“数组的一部分”将始终是副本。