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

Posted sherryblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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];
}

以上是关于int类型被强制转换成较低精度的byte类型的主要内容,如果未能解决你的问题,请参考以下文章

Java学习第二天 第2节(数据类型转换)

有关强制类型转换和自动类型转换

请问,java里,如何把BigDecimal类型转成Integer

关于java中的short和int类型转换的问题

java强制转换byte类型超出范围是怎么计算的?

java中int如何转换byte