Sto avendo il seguente pezzo di codicePerché il valore di un attributo di annotazione dovrebbe essere un'espressione costante?
@UIUnitTimeout(8*60*1000) // works
@UIUnitTimeout(TimeUnit.MINUTES.toMillis(8)) // does not work
So che in base alla JLS solo espressioni costanti sono consentiti come valori agli attributi di annotazione. Ma perché? Perché non è sufficiente se i tipi di dati corrispondono? C'è qualcosa che potrebbe andare storto se le espressioni dovessero essere valutate in fase di runtime? Ogni specifica ha un ragionamento logico dietro?
http://stackoverflow.com/questions/7926596/value-for-the-annotation-attribute-must-be-constant-expression – BobTheBuilder
L'annotazione non dovrebbe essere una costante in fase di compilazione? –
@baraky l'OP sembra già saperlo. – assylias