Ho diverse interfacce tutte con le stesse costanti: ID e ROOT. Ho anche un metodo in cui passo un oggetto che sarà un'implementazione di una di queste interfacce.Come recuperare dinamicamente una costante in java?
Come posso recuperare dinamicamente il valore della costante a seconda della classe passata - vale a dire che voglio fare qualcosa di simile al seguente:
public void indexRootNode(Node node, Class rootNodeClass)
{
indexService.index(node, rootNodeClass.getConstant('ID'),
rootNodeClass.getConstant('ROOT'));
}
In PHP questo è facile, ma è possibile questo in Java ? Ho visto questo problema risolto utilizzando gli accessor sulla costante, ma voglio recuperare direttamente la costante. Le annotazioni non mi aiuteranno neanche qui.
Grazie
Date un'occhiata a riflessione – willcodejavaforfood
Si prega di dare un'occhiata a questa domanda sulla memorizzazione di costanti in interfacce: http://stackoverflow.com/questions/1372991/should-a-collection-of-constants-be-placed-in-a-class-or-interface Molte persone sono d'accordo, che un'interfaccia non è una buona entità per memorizzare costanti. –
Grazie, non l'avevo visto. Le interfacce che ho creato non sono raccolte di costanti. Potrei pensare di aggiungere metodi di accesso all'interfaccia, ma per brevità penso che in questo caso sia più semplice aggiungere costanti all'interfaccia. –