2012-07-09 47 views
12

Bên cạnh groovy là cách năng động hơn sau đó java ...Groovy Generics thất bại

Tại sao đây là một lỗi thời gian biên dịch trong groovy (bất ngờ thẻ <):

interface A { 
    <T> T getByClass(Class<T> clazz) 
} 

Làm thế nào để tôi viết này groovy đường?

Trả lời

20

Các phân tích cú pháp Groovy không xử lý method signatures beginning with Generic information ...

Nó phân tích nếu bạn thêm modifier công cộng:

interface A { 
    public <T> T getByClass(Class<T> clazz) 
} 

Mặc dù tôi không tin rằng bạn sẽ đạt được bất kỳ loại kiểm tra tại thời gian biên dịch để thêm chú thích này

+0

Cảm ơn. Điều đó hoạt động. Tôi chỉ muốn hiểu một hệ thống phun phụ thuộc (chuyển đổi ast) từ [telluriumsource] (http://code.google.com/p/aost/source/browse/branches/trunk-0.8.0/injector/src/? r = 5219 # src% 2Fmain% 2Fgroovy% 2Forg% 2Ftelluriumsource). Chỉ cần copy-paste-debug của nó, sau này tôi sẽ thay đổi nó theo nhu cầu của tôi. – matcauthon

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