Thứ Năm, 27 tháng 2, 2025

Yield

 

Tại sao sử dụng return lại bị lỗi ?

Trong Java, từ khóa yield được giới thiệu trong Java 13 để dùng trong switch expressions (biểu thức switch). Còn từ khóa return thì thường được dùng để kết thúc phương thức và trả về giá trị từ phương thức đó.

Tại sao không thể dùng return thay cho yield?

Trong switch expression (như bạn đang sử dụng), case "/" -> { ... } không phải là một phương thức riêng biệt mà là một biểu thức, nên bạn cần sử dụng yield để trả về giá trị cho toàn bộ biểu thức switch.

Nếu bạn sử dụng return bên trong {} trong switch, nó sẽ gây lỗi vì return sẽ cố gắng thoát khỏi phương thức calculate thay vì chỉ trả về giá trị cho biểu thức switch.

📌 Sự khác biệt giữa returnyield

Từ khóaDùng ở đâu?Chức năng
returnTrong phương thứcThoát khỏi phương thức và trả về giá trị.
yieldTrong switch expressionTrả về giá trị cho biểu thức switch.

🔍 Ví dụ minh họa

Sử dụng return trong switch expression (Bị lỗi)



Sử dụng yield đúng cách



🔥 Lời khuyên

  • Nếu bạn dùng switch expression, hãy dùng yield khi cần trả về giá trị từ một khối {}.
  • Nếu bạn dùng switch statement (câu lệnh switch truyền thống), vẫn có thể dùng return nếu nó nằm trong một phương thức.


Không có nhận xét nào:

Đăng nhận xét