Như những người khác đã đề cập trước đây,
không có cơ chế typedef trong Java.
Tôi cũng không hỗ trợ "các lớp giả" nói chung, nhưng không nên có một quy tắc nghiêm ngặt chung ở đây:
Nếu ví dụ mã của bạn sử dụng nhiều lần và hơn một "loại dựa trên chung" chẳng hạn:
Map<String, List<Integer>>
Bạn chắc chắn nên xem xét việc có một lớp con cho mục đích đó.
Một cách tiếp cận khác mà người ta có thể xem xét, ví dụ như để mã của bạn giảm tốc như:
//@Alias Map<String, List<Integer>> NameToNumbers;
Và sau đó sử dụng trong mã NameToNumbers của bạn và có một tác vụ biên dịch trước (ANT / Gradle / Maven) để xử lý và tạo mã java có liên quan.
Tôi biết rằng với một số độc giả của câu trả lời này nghe có vẻ lạ, nhưng đây là cách mà nhiều khung đã triển khai "chú thích" trước JDK 5, đây là điều mà lombok đang làm và các khung khác.