码迷,mamicode.com
首页 > 其他好文 > 详细

int类型被强制转换成较低精度的byte类型

时间:2018-05-03 19:36:15      阅读:358      评论:0      收藏:0      [点我收藏+]

标签:turn   一个   tao   没有   不可   上线   byte   转换   处理过程   

公司的项目上线之前会进行代码合规性检查,其中很容易违反的一个规则就是“不要把原始类型转换成较低的精度”,实际开发的过程中,很多方法在处理数据时,尤其在做移位操作的时候,难免要把int类型转换成byte类型,这时候就不可避免得出现原始类型转换成较低精度的情况,没有什么简便的方法,只能通过调用ByteArrayOutputStream,DataOutputStream 来处理。把处理过程封装到一个函数中。然后在进行类型转化的时候调用函数。处理函数如下:

public byte intToButeArray(int n) {
byte[] byteArray = null;
try {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
DataOutputStream dataOut = new DataOutputStream(byteOut);
dataOut.writeInt(n);
byteArray = byteOut.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}
return byteArray[3];
}

int类型被强制转换成较低精度的byte类型

标签:turn   一个   tao   没有   不可   上线   byte   转换   处理过程   

原文地址:https://www.cnblogs.com/sherryblog/p/8986405.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!