Sadece bu hataya sahip Java5 projesini aldım, Java5 ve Java6 kullanmayı denedim, ancak hala var. Bir şekilde daha önce çalıştı (svn'de olduğu için), bu derleyici hatasını nasıl atlayabilirim?Bir başlatıcıdaki statik enum alanına başvuramıyor musunuz?
cevap
Hatayı "bypass" etme - istediğiniz şeyi yapmaz. Hata iyi bir sebep için var.
Enum değerleri diğer statik alanlardan önce başlatılır. Eğer bir harita içine tüm değerleri ekleme gibi bir şey yapmak istiyorsanız, başka şeyden sonra statik başlatıcısı bunu yapmak:
import java.util.*;
public enum Foo
{
BAR, BAZ;
private static final Map<String, Foo> lowerCaseMap;
static
{
lowerCaseMap = new HashMap<String, Foo>();
for (Foo foo : EnumSet.allOf(Foo.class))
{
// Yes, use some appropriate locale in production code :)
lowerCaseMap.put(foo.name().toLowerCase(), foo);
}
}
}
Jon - Bu hatanın Eclipse 3.3'te neden gerçekleşmediğini biliyor musunuz, ancak 3.4'te mi? – tddmonkey
Yukarıdaki örnekte Foo foo: Foo.values () 'yerine Foo foo: EnumSet.allOf (Foo.class)' nin kullanılmasının nedeni var mı? –
@AbdullahJibaly: Pek değil. Sanırım burada oldukça fazla eşdeğer. –
bir başka yolu "bypass" o, örneğin bir sayaç gerekiyorsa veya her initalization çalıştırmak için gereken bir şey, bu yüzden gibi özel statik iç sınıf oluşturmaktır:
- 1. Enum vs Boolean kullanıyor musunuz?
- 2. C++ bir sınıfta statik enum vs enum bildirme
- 3. güncel Statik Harita API musunuz?
- 4. Jetty ile jütilden statik içerik sunuyor musunuz?
- 5. Enum vs Sabitler/Statik Üyeli Sınıf?
- 6. Java'da, bir sınıf statik içinde enum türleri nelerdir?
- 7. bir Enum
- 8. Bir ENUM
- 9. Statik alana neden statik bir şekilde erişilmelidir?
- 10. Olay Meta Verileri: "name" özniteliği için statik değişken kullanıyor musunuz?
- 11. dönüştürme enum bir enum Uyruk sahip piton
- 12. PDO_OCI - bir clob alanına
- 13. Nasıl bir metin alanına
- 14. Enum of Enum NULL
- 15. Enum
- 16. WPF + MVVM'de bir ComboBox'a bir enum bağlanması
- 17. Ben bir Hediye bir enum değer paketi ve enum
- 18. java.lang.reflect.Type bir Enum
- 19. Enum değerleri bir NSMutableArray
- 20. Enum ToString bir sayı
- 21. Bir alıcıya sahip Enum
- 22. Bir Enum Nasıl Oluşturulur
- 23. Java'da tire işareti olan bir değere sahip statik bir enum nasıl oluşturulur?
- 24. Bir Enum bir int nasıl?
- 25. Enum Forward Declaration
- 26. Neden Java'da bir iç sınıfta bir enum oluşturamıyorum?
- 27. Javascript tabletteki tuş basımlarını okuyor musunuz?
- 28. Dize adına dayalı bir Enum yüklenebilir mi?
- 29. Enum tarafından Bahar MVC'de seçin
- 30. Java'da genel statik final alanına sahip olmak için sınıfları zorlamak için herhangi bir yol var mı?
size çalıştığımız şey – tddmonkey
Eğer küçük bir kod örneği verebilir misiniz erroring oluyor kodunuzu göndermek için yardımcı olabilir başarmak? –
Bunun için üzgünüm, google üzerinden buldum, ancak özel statik final alanı ilkel bir tür olduğunda işe yaradığı görülüyor. Neden olduğu hakkında bir fikri olan var mı? – Norswap