Автобоксинг / расширение происходит в Short a = 3, но не в Float a = 3;

Я понимаю, что следующий код не будет работать

Float a=3

, потому что он переведен как Float a = Integer.valueOf ( 3). У нас будет ссылка Float на LHS и объект Integer на RHS, что несовместимо. Но:

1.

     `Short a=3;`

Это работает, хотя здесь снова у нас будет краткая ссылка на LHS и целочисленный объект на RHS.

2.

Float a = (Float) 3

Если бы мы не привели тип 3, он был бы переведен как Integer.valueOf (3). Теперь, будет ли он переведен как Float.valueOf (3)?

5
задан Daud 9 September 2010 в 12:47
поделиться