我知道这是不可能的 但因为我从其他地方获得这些值(...) 并假设:
- 我得到的 int 是:> 0 和 < Short.Max_VALUE;
- 我得到的 float 是:> 0 和 < Short.Max_VALUE;
我如何执行这样的转换?
谢谢!
最佳答案
为什么你说它做不到?
如果您输入的值适合short
类型间隔,则会成功转换:
int i = 3444;
short s1 = (short) i;
float f = 3233.0f;
short s2 = (short) f;
这称为缩小原始转换,并在 JLS Ch. 5.1.3 中进行了描述。
关于Java:从int到short,从float到short,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34716509/