2010-04-01 27 views
5

Có cách nào/công cụ để tự động chuyển đổi mã nguồn Java từ việc sử dụng các kiểu thô sang sử dụng các kiểu generic không?Tự động chuyển đổi nguồn java để sử dụng loại generic hơn là kiểu thô

Tôi có một số mã di sản với sự tham khảo 677 với các loại nguyên liệu:

ArrayList 47 
Vector  420 
Hashtable 61 
Enumeration 64 
Class  7 
Iterator 78 
TOTAL  677 

Bây giờ tôi bằng tay có thể xem xét thông qua các mã để suy ra các loại generic và thay thế, nhưng có nghĩa là sẽ mất nhiều thời gian.

Trả lời

2

Eclipse không có công cụ tái cấu trúc 'loại suy luận chung' (Tôi không biết liệu nó có xử lý nhiều lớp trong một lần truy cập hay không, nhưng có lẽ).

Thay thế lần xuất hiện kiểu thô của kiểu generic theo loại tham số sau khi xác định tất cả những nơi mà thay thế này là có thể. Có sẵn: Dự án, gói và loại Tùy chọn: 'Giả sử bản sao() trả về phiên bản của người nhận loại'. Các lớp học được xử lý tốt thường là tôn trọng quy tắc này, nhưng nếu bạn biết rằng mã của bạn vi phạm, hãy bỏ chọn hộp.

'Để đối số loại không bị giới hạn nguyên (thay vì suy luận)'. Nếu không có ràng buộc nào đối với các yếu tố ví dụ: ArrayList a, bỏ chọn hộp này sẽ khiến Eclipse vẫn còn cung cấp thông số ký tự đại diện, thay thế tham chiếu bằng ArrayList.

+2

Tìm thấy bạn có thể nhấp chuột phải vào một dự án và chọn tùy chọn này trong trình đơn 'Trình đơn'. – Sam

1

IntelliJ cũng có Refactor | Tạo. Nó đã hoạt động khá rõ ràng cách đây năm năm, vì vậy tôi cho rằng nó không tệ hơn bây giờ!

Các vấn đề liên quan