从短/字节缩小隐式转换

时间:2019-04-05 13:15:04

标签: java implicit-cast

根据Java语言规范:

  

将表达式的值分配给变量(第15.26节)时,将发生赋值转换:必须将表达式的类型转换为变量的类型。

     

此外,如果该表达式是类型为byte,short,char或int的常量表达式(第15.28节):

     
      
  • 如果变量的类型为byte,short或char,并且常量表达式的值可以表示为变量的类型,则可以使用缩窄基元转换。

  •   
  • 如果变量的类型为:

    ,可以使用变窄的原始转换,然后是装箱转换。

         
        
    • 字节,常量表达式的值可以用字节类型表示

    •   
    • 短且常量表达式的值可以表示为short类型。

    •   
    • 字符,常量表达式的值可以用char类型表示。

    •   
  •   

这对我来说很有意义,假设整数文字和整数常量表达式在目标类型范围内时,会将它们隐式转换为short,byte和char类型。

这是否意味着从short和byte类型(例如short到byte,short到char,byte到char)类型时,缩小隐式强制转换是无关紧要的,因为从我的理解来看,没有这样的short / byte文字或常量表达式?

0 个答案:

没有答案