Ho accidentalmente lasciato una virgola in più alla fine di uno dei miei elenchi di annotazioni, ma è stato compilato correttamente sul mio computer. Per esempio:Gli elenchi di annotazioni java dovrebbero consentire una virgola aggiuntiva dopo l'ultima immissione?
@NamedQueries({ @NamedQuery(name="name1",query="FROM Foo"), @NamedQuery(name="name2",query="FROM Bar"), })
Avviso la virgola in più dopo la seconda @NamedQuery. Sembra compilare bene sulla mia macchina, ma qualcun altro ha avuto problemi nella compilazione del codice sulla propria macchina, quindi l'ho rimosso. Ma ora sono curioso di sapere se dovrebbe essere permesso e, in tal caso, quale versione di java lo consente.
Non sono stato in grado di trovare alcun riferimento a questo ovunque online.
> Una virgola finale può apparire dopo l'ultima espressione in un inizializzatore di array e viene ignorata. (+1) – Tim
La specifica della lingua Java consente esplicitamente una virgola finale in Array di annotazioni (http://java.sun.com/docs/books/jls/third_edition/html/interfaces.html#9.7). Tuttavia sembra che ci sia un errore in javac che genera un errore ("avvio illegale di espressione"). Quindi, per sicurezza, non dovresti usare virgole trailing nelle annotazioni, mentre sono abbastanza ok negli inizializzatori di array. –