【发布时间】:2015-02-14 01:17:22
【问题描述】:
在java中,我想知道如何在不复制的情况下从特定位置获取其他byte[] 的byte[]?
例子:
byte[] bytes1 = new byte[100];
for (int i = 0; i < 100; i++) {
bytes1[i] = (byte)(i+1);
}
byte[] byte2;
如何将byte2 指向位置10 的byte1?
我希望byte2 有:[0] = 10, [1] = 11, [2] = 12
有可能吗?
我尝试使用 ByteBuffer 但没有任何成功。
【问题讨论】:
-
不幸的是,你不能。也许这是一个选择:fastutil.di.unimi.it/docs/it/unimi/dsi/fastutil/bytes/…, int) ?
-
@LyubomyrShaydariv 该实用程序由
List<Byte>支持,请参阅我的答案。 -
@StefanoSanfilippo 它没有
List<Byte>支持——grepcode.com/file/repo1.maven.org/maven2/it.unimi.dsi/fastutil/…——它有内部byte[] a,而不是Byte[] a。 Fastutil 专为高效的原始集合和地图而设计。 -
@LyubomyrShaydariv 操作,我的错。
标签: java