跟其他语言对接通讯接口过程中,因java是有符号的,所有一个字节可能会有超过的情况,通讯端需要做特殊的处理
/**
* short转integer(考虑到short可能会超出范围特殊处理下)
* @param s
* @return
*/
public static Integer shortToInteger(Short s){
if(s < 0){
return 65535+1+s;
}else{
return new BigDecimal(s).intValue();
}
}
为什么是65535+1,这是因为中间还有一个0,不然少算了
欢迎关注公众号“程序猿学社”
1.免费领取各种学习视频,学习相关java各个技术点面试知识
2.有相关学习疑问或者面试困惑,也可以通过公众号私信博主
3.通过公众号进入java交流群,不闲聊,只谈技术