Tôi hiểu rằng đoạn mã sau sẽ không làm việcTự động hóa/mở rộng xảy ra trong Ngắn a = 3 nhưng không xuất hiện trong Float a = 3;
Float a=3
vì dịch là phao a = Integer.valueOf của nó (3). Chúng ta sẽ có một tham chiếu Float trên LHS và một đối tượng Integer trên RHS, nó không tương thích. Nhưng:
1.
`Short a=3;`
này hoạt động, mặc dù đây một lần nữa, chúng tôi sẽ có một tham chiếu ngắn trên LHS và một đối tượng Integer trên RHS.
2.
Float a=(Float) 3
Nếu chúng ta không typecasted 3, nó đã có thể được dịch là Integer.valueOf (3). Bây giờ, nó sẽ được dịch là Float.valueOf (3)?
Bạn có trình biên dịch Java không? Nếu có, bạn có thể thử điều này. – DJClayworth