thể trùng lặp:
Tricky ternary operator in Java - autoboxingJava null để int vấn đề Conditional Operator
Chúng ta biết rằng int roomCode = null;
không được phép bởi trình biên dịch.
Sau đó, tại sao Mã 1 không đưa ra lỗi trình biên dịch, khi Mã 2 thực hiện.
Mã 1:
int roomCode = (childCount == 0) ? 100 : null;
Mã 2:
int roomCode = 0;
if(childCount == 0) roomCode = 100;
else roomCode = null; // Type mismatch: cannot convert from null to int
Một câu hỏi rất hay. –
có thể liên quan đến autoboxing nhưng tôi không thấy làm thế nào ... – talnicolas
'null' đánh giá khi nào nó có đường dẫn đó? – Mysticial