Tôi đã học được rằng i+=2
là viết tắt của i=i+2
. Nhưng bây giờ đang nghi ngờ nó. Đối với đoạn mã sau, những kiến thức trên nắm giữ không tốt:Toán tử gán tay ngắn, + =, Ý nghĩa thực sự?
byte b=0;
b=b+2; //Error:Required byte, Found int
Đoạn mã trên là chính đáng, như 2
là int
loại và biểu thức trả về giá trị int
.
Nhưng, đoạn code sau chạy tốt:
byte b=0; b+=2; //b stores 2 after += operation
này buộc tôi phải nghi ngờ rằng các nhà điều hành +=
ngắn tay có phần hơn hơn tôi biết. Hãy khai sáng cho tôi.
Xem: http://stackoverflow.com/questions/7038012/typecasting-with-shorthand-operators –
Không sử dụng trả lời khi có câu trả lời hay. Đánh dấu vào [this one] (http://stackoverflow.com/questions/8710619/java-operator). Câu hỏi này được đề cập ở đó. – Gamb