Mam następujący fragment koduDlaczego wartość atrybutu adnotacji powinna być wyrażeniem stałym?
@UIUnitTimeout(8*60*1000) // works
@UIUnitTimeout(TimeUnit.MINUTES.toMillis(8)) // does not work
wiem, że zgodnie z JLS tylko wyrażenia stałe są dopuszczone jako wartości atrybutów adnotacji. Ale dlaczego? Dlaczego nie jest wystarczające, jeśli typy danych są zgodne? Czy jest coś, co mogłoby pójść nie tak, jeśli wyrażenia miały być oceniane w czasie wykonywania? Czy każda specyfikacja ma logiczne uzasadnienie?
http://stackoverflow.com/questions/7926596/value-for-annotation-attribute-must-be-constant-expression – BobTheBuilder
Czy adnotacja nie powinna być stałą czasu kompilacji? –
@baraky OP wydaje się już to wiedzieć. – assylias