我是在开发一款安卓应用程序。我使用了一个静态函数,该函数接受 byte[]
作为参数。
我曾经传递一个包含36个字节的硬编码字节数组:
new byte[]{-13, 35, -92, -79, 47, -51, -57, 39, ......};
但在最新版本中,他们改变了函数的参数为long[]
。因此,我无法再传递我的字节数组。
如何将保存的byte[]
转换为long[]
,以便仍然可以使用相同的值调用此函数?
是否有从byte[]
到long[]
的转换?据我所知,'byte[]'可以转换为long
,但不能转换为长整型数组。
非常感谢任何关于此的帮助。
long
对应于八个字节,还是一对一的关系?请说明。 - nanofaradnew byte[]
更改为new long[]
,它是否有效? - Elliott Frisch-13
与0xF3
相同,但编译器会警告您存在精度损失,因为有符号字节可以表示的最大数字是127(或0x7F)。在Java长整型中,-13
是0xFFFFFFFFFFFFFFF3
。但是,长整型可以表示0xF3
(243
)而不会溢出并变为负数。另请参见Byte.toUnsignedLong()
。 - dsh