2009-07-13 13 views
7

Ek açıklama listelerinden birinin sonunda yanlışlıkla ek bir virgül bıraktım, ancak makinemde iyi bir derleme yaptı.Son girişten sonra ek bir virgül eklenmesine izin verilen java ek açıklama listeleri var mı?

@NamedQueries({ @NamedQuery(name="name1",query="FROM Foo"), @NamedQuery(name="name2",query="FROM Bar"), })

Bildirimi ikinci @NamedQuery sonra fazladan virgül: Örneğin. Makinemde iyi bir derleme var gibi görünüyor, ancak başka birinin makinede kod derleme sorunları vardı, ben de onu kaldırdım. Ama şimdi izin verilip verilmemesi gerektiğini merak ediyorum ve eğer öyleyse, java'nın hangi versiyonu ona izin veriyor.

Bulaçtan herhangi bir yerde çevrimiçi olarak herhangi bir başvuru bulamadık.

cevap

6

Bu durumda, ek virgül sağlayan Array Initializers ile uğraştığınızı düşünüyorum.

Örnek:

int[] foo = new int[] { 1, 2, 3, };

Bu baştan JLS parçası olmuştur.

+0

> Son ifadeden sonra bir dizi başlatıcıda sondaki bir virgül görünebilir ve yoksayılır. (+1) – Tim

+2

Java Dil Belirtimi, Açıklamalı Dizilerde (http://java.sun.com/docs/books/jls/third_edition/html/interfaces.html#9.7) açık bir virgül sağlar. Ancak javakta bir hata veren bir hata var gibi görünüyor ("ifadenin yasadışı bir şekilde başlatılması"). Yani güvenli tarafta olmak için, diziliş başlatıcılarda oldukça iyi iken, açıklama notlarında sondaki virgül kullanmamalısınız. –

4

Bunun bazı ek açıklama işleme bağlamlarında çalışacağını ve başkalarında işe yaramayacağını unutmayın. Sun'ın komut satırı APT'sini kullanıyorsanız, bu çok büyük bir hataya neden olur. (Ancak, tutulmada iyi çalışır)

İlgili konular