Nâng CaoJava iconJava

Generics và type erasure trong Java là gì?

Generics cung cấp type safety tại compile time: List<String> chỉ chấp nhận String.

  • Type erasure: compiler xóa thông tin generic lúc runtime — List<String> trở thành List (raw type) trong bytecode.
  • Lý do: tương thích ngược với code trước generics.
  • Hậu quả: không thể check instanceof List<String>, không tạo được new T[].
  • Bounds: <T extends Number> giới hạn kiểu.
  • Wildcards: List<? extends Number> (read-only), List<? super Number> (write).

Xem toàn bộ Java cùng filter theo level & chủ đề con.

Mở danh sách Java