Tôi muốn cung cấp chú thích với một số giá trị được tạo bởi một số phương pháp.Giá trị chú thích Java được cung cấp theo cách năng động
Tôi cố gắng này cho đến nay:
public @interface MyInterface {
String aString();
}
@MyInterface(aString = MyClass.GENERIC_GENERATED_NAME)
public class MyClass {
static final String GENERIC_GENERATED_NAME = MyClass.generateName(MyClass.class);
public static final String generateName(final Class<?> c) {
return c.getClass().getName();
}
}
tưởng GENERIC_GENERATED_NAME
static final
là, nó than phiền rằng
Giá trị cho chú thích thuộc tính
MyInterface.aString
phải là một biểu thức hằng
Vậy làm thế nào để đạt được điều này?
Ok, vì vậy tôi hiểu rằng điều này không thể được giải quyết bằng cách sử dụng chú thích, phải không? Có lẽ sau đó tôi sẽ phải chạy một số công cụ trước khi biên dịch và hoàn thành nguồn Java. Bất kỳ đề xuất nào khác? – thelost
@thelost Tôi chưa bao giờ nhìn vào tất cả những gì phải thành thật. Hãy để tôi nhìn xung quanh một chút trong thời gian rảnh của tôi hôm nay và tôi sẽ cố gắng để lấy lại cho bạn vào nó. –