int类型被强制转换成较低精度的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];
}

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