Chuyển đến nội dung chính

Bài đăng

Video Nổi bật

Java Generics: Type Erasure, Invariance, Wildcards và nguyên tắc PECS

Java Generics không chỉ là cú pháp giúp bạn viết List thay vì List. Đằng sau Generics là cả một hệ thống quy tắc về an toàn kiểu, quan hệ giữa các kiểu dữ liệu, Type Erasure và Wildcards. Đặc biệt, để thiết kế API hiệu quả với Generics, bạn cần trả lời được một câu hỏi tưởng như đơn giản:  Nếu String là subtype của Object, tại sao List lại không phải là subtype của List ? Câu trả lời nằm ở đặc tính cốt lõi: Generics trong Java là invariant (bất biến). Trong bài viết này, chúng ta sẽ cùng mổ xẻ từ bản chất của Invariance, cơ chế Type Erasure, Bridge Methods đến ứng dụng thực tế của Wildcards & PECS, từ đó rút ra các nguyên tắc thiết kế Generic API an toàn và tối ưu nhất. 1. Vì sao Java cần Generics? Trước JDK 5, Collections API chủ yếu làm việc với Object. Điều này cho phép một collection chứa nhiều loại đối tượng khác nhau, nhưng đổi lại lập trình viên phải tự chịu trách nhiệm kiểm tra và ép kiểu khi lấy dữ liệu ra. Ví dụ: List rawList = new ArrayList(); rawList.add(“Hello World”...

Bài đăng mới nhất

Bạn có hợp với nghề lập trình không? Test nhanh cùng CodeGym Entry Ready

Bản tin công nghệ tuần 4 tháng 9/2026: CMake Tools 1.24, Swift 6.4 và loạt bước tiến mới về AI Agent

Kinh tế học ngành Game: Phân phối power-law và bản chất hit-driven

Cấu trúc ngành Game: Studio, Publisher, Platform Holder và dòng tiền thật sự chảy về đâu

AI nguồn mở và sự bình đẳng công nghệ

Bản tin công nghệ tuần 3 tháng 9/2026: Loạt cập nhật đáng chú ý cho lập trình viên

Game Development là gì: Vì sao làm game khác mọi ngành phần mềm khác

Trò chơi là gì: Bốn định nghĩa kinh điển và vì sao không ai đồng ý với nhau

Tiến hóa AI: Tương lai công nghệ số