java将int转化为byte数组吗_java – 将int数组转换为byte数组的最有效方法是什么,反之亦然?...

我正在寻找将int数组转换为byte数组的最有效方法,反之亦然.

我想写大量的int数组和String到文件,所以我可以有效地读取它们.我认为节省空间和减少阅读时间的最佳方法是将它们存储为字节.我对吗?

我阅读了以下链接,但还有更好的方法吗?

解决方法:

在Java中,一个字节是8位,而int是32位.

要将每个整数转换为单个字节而不丢失数据,您需要确保所有数字都在-128到127之间.

如果它们在这个范围内,那么你应该首先将它们存储为字节(如果这不可能,那么有很多方法可以进行已经讨论过的转换).

如果它们不在此范围内,那么您根本不应将它们转换为字节,因为它会强制您的数字进入范围,因此您将丢失大量数据.

或者,你可以使用short,因为它是16位(给你的范围是-32,768到32,767).

但是如果你不能确保你的数字在这些范围内,那么你将需要使用int.

注意:您可以将每个int存储为4个字节或2个短路,但每个数字仍然是32位,因此您不会通过这样做获得任何空间效率.

标签:java,arrays,int,file-io,byte

来源: https://codeday.me/bug/20190722/1506414.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值