- 此问题在此处已有答案**:
Java: why do I receive the error message "Type mismatch: cannot convert int to byte"(5个答案)
Primitive type 'short' - casting in Java(11个答案)
51分钟前就关门了。
下面的代码不适用于short数据类型,但适用于int数据类型。它显示无法从int转换为short错误。
public class X {
public static void main(String[] args) {
short x = 5;
x = x * 10;
System.out.println(x);
}
}
1条答案
按热度按时间yacmzcpb1#
乘法的结果是
int
或long
,这取决于操作数(参见此处和此处的规范)。在这种情况下,它会产生一个
int
,它不适合您试图将结果重新分配到的short
。如果强制转换结果(
x = (short)(x * 10)
),则可以正常工作,但有溢出的风险。