Types 编译器设计-当多个强制转换级别消失时,如何进行自动类型强制转换

Types 编译器设计-当多个强制转换级别消失时,如何进行自动类型强制转换,types,casting,compiler-construction,implicit-conversion,Types,Casting,Compiler Construction,Implicit Conversion,要将byte转换为short,我是否可以假设有某种方法在后台被调用,并带有签名: 短字节2短(字节b) 但是,如果必须将字节转换为长,情况又如何呢?也就是说,在转换图中,它们不是通过箭头直接连接的 是否有特定的方法将字节转换为长,例如: 长字节2long(字节b) 或者,它调用一系列方法来转换字节,如下所示: 短字节2短(字节b) int short2Int(短s) long int2Long(inti) 所以本质上我的问题是,如果从一个字节转换为一个长字节,那么转换是直接的吗 byte-

要将
byte
转换为
short
,我是否可以假设有某种方法在后台被调用,并带有签名:

短字节2短(字节b)

但是,如果必须将
字节
转换为
,情况又如何呢?也就是说,在转换图中,它们不是通过箭头直接连接的

是否有特定的方法将
字节
转换为
,例如:

长字节2long(字节b)

或者,它调用一系列方法来转换字节,如下所示:

  • 短字节2短(字节b)

  • int short2Int(短s)

  • long int2Long(inti)

  • 所以本质上我的问题是,如果从一个字节转换为一个长字节,那么转换是直接的吗
    byte->long

    或者是间接的,比如:
    byte->short->int->long
    转换直接进行,即
    byte->long

    如果类型具有相同的有符号性(有符号或无符号),则其类型具有较小转换rank1的操作数将隐式转换为另一个类型