我有以下Java代码:
shortVar = (short) intVar;
但是有时候它给我的价值不同于我的期望。 在无法正确强制转换并引发错误消息的情况下,保护代码免受侵害的最佳方法是什么?
答案 0 :(得分:1)
首先,我建议您不要使用short
类型:常见的Java编程规则不建议使用此类型(由于空间性能低,因为short占用16位,而现代体系结构可处理64位数据。
但是,只有当您必须绝对使用short
变量时,确保您不会超出正确范围的正确方法是:
if (intVar <= Short.MAX_VALUE && intVar >= Short.MIN_VALUE)
{
short shortVar=(short)intVar;
...
}
else
{
// The cast shall not be safely done.
...
}