Trình in JSON đầy đủ trong 20 dòng, không một dấu ép kiểu, không một default — mà vẫn kín mọi nhánh
instanceof có khai biến, record pattern lồng nhau, luật che nhánh mà trình biên dịch bắt buộc, và một chi tiết về biến vô danh trên JDK 21.
instanceof có khai biến, record pattern lồng nhau, luật che nhánh mà trình biên dịch bắt buộc, và một chi tiết về biến vô danh trên JDK 21.
Kiểm soát danh sách lớp con, switch vét cạn không cần default, và phép thử cho thấy điều gì xảy ra khi bạn thêm một loại mới mà quên cập nhật mã xử lý.
javap cho thấy record sinh sẵn những gì, hàm khởi tạo rút gọn dùng để kiểm tra dữ liệu, và cái bẫy khi thành phần là một List sửa được.
Bốn loại lớp lồng, một đoạn phản chiếu lôi ra tận mắt cái trường this$0 do trình biên dịch thêm vào, vì sao nó là nguồn của những vụ rò rỉ bộ nhớ khó tìm nhất, và vì sao mặc định nên đặt static.
Sắp xếp theo nhiều khoá bằng thenComparing, xử lý null, và cái bẫy khi compareTo không nhất quán với equals — cùng dữ liệu, HashSet giữ 2 phần tử còn TreeSet chỉ giữ 1.
Ba mức độ hỏng của equals/hashCode, từ quên hashCode tới khoá đổi được — kèm ví dụ chạy được cho thấy dữ liệu biến mất khỏi tầm với dù map vẫn báo size = 1, năm điều khoản của hợp đồng, và vì sao record giải quyết gần hết.