Tôi có một vài giao diện với cùng các hằng số - ID và ROOT. Tôi cũng có một phương thức mà trong đó tôi truyền một đối tượng sẽ thực hiện một trong các giao diện này.Làm thế nào để tự động lấy một hằng số trong java?
Làm thế nào tôi có thể tự động lấy giá trị của hằng số phụ thuộc vào lớp thông qua năm - tức là tôi muốn làm một cái gì đó như sau:
public void indexRootNode(Node node, Class rootNodeClass)
{
indexService.index(node, rootNodeClass.getConstant('ID'),
rootNodeClass.getConstant('ROOT'));
}
Trong PHP này là dễ dàng, nhưng có thể như vậy trong Java ? Tôi đã nhìn thấy vấn đề này được giải quyết bằng cách sử dụng accessors trên hằng số, nhưng tôi muốn lấy trực tiếp các hằng số. Chú thích sẽ không giúp tôi ở đây.
Cảm ơn
Hãy nhìn vào phản ánh – willcodejavaforfood
hãy có một cái nhìn tại câu hỏi này về lưu trữ hằng trong giao diện: http://stackoverflow.com/questions/1372991/should-a-collection-of-constants-be-placed-in-a-class-or-interface Hầu hết mọi người đồng ý, rằng một giao diện không phải là một thực thể tốt để lưu trữ các hằng số. –
Cảm ơn, tôi đã không thấy điều đó. Các giao diện tôi đã tạo không phải là tập hợp các hằng số. Tôi có thể nghĩ về việc thêm các phương thức accessor vào giao diện, nhưng đối với ngắn gọn, tôi nghĩ trong trường hợp này, việc thêm các hằng số vào giao diện sẽ đơn giản hơn. –