小编典典

字节和整数类型转换

java

我有一个代码段:

class AutoTypeCast{
    public static void main(String...args){
        int x=10;
        byte b=20;//no compilation error
        byte c=x;//compilation error
    }
}

为什么20不自动类型转换为bytewhile x


阅读 258

收藏
2020-11-30

共1个答案

小编典典

因为x是,int并且具有更大的范围byte。因此,将其分配给可能会导致数据丢失byte

20是一个常数,而编译时间保证在的范围内byte

2020-11-30