EnumSet'in tüm verimliliğine sahip olmak ve birisinin onu değiştireceğinden endişe etmeden aktarmak istiyorum.Java 7'de ImmutableEnumSet için planlar var mı?
cevap
Google koleksiyonları (Guava) ile değişmez bir EnumSet alabilirsiniz.
Kaynaklar:
ile ilgili sorun nedir EnumSet
?
Gerçek, orijinal EnumSet
hala değiştirilebilir, ancak orijinal başvuruyu attığınız sürece, sarıcı içinde değiştirilemez.
düzenleme: Tamam, üzerinde herhangi bir örnek yöntemleri sunmak ve Set
arayüzüne yukarıda, bu çözümü kullanmayan tek nedeni EnumSet
tip belgeler amaçlar için yararlı olduğunu, ve ne zaman o kaybetmez EnumSet
beri Set
'da sarmak. Bunun dışında, EnumSet
davranışı korunacaktır.
Bu bir 'EnumSet' –
@Colin tüm yöntemi yok hangi yöntemleri olur o olabilir mi? Sarma işleminden önce enumset'i oluşturmak için statik yöntemleri kullanmaya devam edebilirsiniz ve diğer setlerin de içermediği enumset'te yeni örnek yöntemleri göremiyorum. –
@skaffman. Sanırım çoğunlukla belgeleme amaçlı istiyorum. EnumSet ile ilgili olan şey, belirli bir yineleme sırasını belirlemesidir ve eğer 'Set' yerine 'EnumSet'i kullanırsanız, beklediğinizden farklı sonuçlar üretebilir: Birisi yöntem imzasında 'Set'i görür ve' HashSet' içinde geçer Örneğin. Bu gereklilik olmadan öneriniz iyi olurdu. BTW, EnumSet'in bazı yöntemleri (sadece yapıcılar) yoktur, ancak bazı durumlarda 'ilk ',' son 've' tersiyer 'olması gerçekten güzel olurdu. –
- 1. Libevent için bir Java eşdeğeri var mı?
- 2. Kod karmaşasını hesaplamak için Java için bir API var mı?
- 3. Flask'ta belirli planlar için giriş yapmak ister misiniz?
- 4. C# için Guava var mı?
- 5. MDX sorguları için LINQ kullanmanın bir yolu var mı?
- 6. JPEG dosyalarını okumak için ImageIO'ya% 100 Java alternatif var mı?
- 7. Scala/Java için npmjs gibi bir şey var mı
- 8. Java için en iyi iCalendar kütüphanesi var mı?
- 9. Java için Codecademy gibi bir şey var mı
- 10. Seri portlara erişmek için Java kütüphanesi veya çerçeve var mı?
- 11. ONIX dosyalarını işlemek için bir Java kütüphanesi var mı?
- 12. Java XML ayrıştırma için jQuery gibi seçiciler var mı?
- 13. Python'da Java IllegalStateException için bir analog var mı?
- 14. Java için bir CalDAV istemci kütüphanesi var mı?
- 15. java tr /// (veya eşdeğer) kullanmak için bir yolu var mı?
- 16. Java Applet'leri için herhangi bir eklenti çerçevesi var mı?
- 17. Küçük resimler için herhangi bir java kütüphanesi var mı?
- 18. Java için iyi bir hafif HL7 ayrıştırıcısı var mı?
- 19. Talimatları düzenlemek için bir java classfile/bytecode editörü var mı?
- 20. Java için iyi desteklenen bir besleme oluşturma kitaplığı var mı?
- 21. Java için lxml veya nokogiri'ye benzer bir kitaplık var mı?
- 22. Java dizeleri için bir sol() - işlevi var mı?
- 23. Tablet gibi dokunma aygıtları için bir Java API var mı?
- 24. SQL'i biçimlendirmek için herhangi bir java kütüphanesi var mı?
- 25. Ambalaj enumları için bir java sözleşmesi var mı?
- 26. Clang/libclang Java bağlamaları var mı?
- 27. Java Posix IPC Bir API var mı?
- 28. Java 6'dan Java 7'ye bir JDiff var mı?
- 29. PHP'de bir Java Setinin eşdeğeri var mı?
- 30. Cron dahili olarak işleri nasıl planlar?
Guava müthiş bir kütüphane olacak. Bu taş! +1 –
"Sets.immutableEnumSet", yalnızca "ImmutableSet" değil, genel bir "ImmutableEnumSet" sınıfı döndürürse kabul ederdi. Yine de bunu yapmak için istekte bulunmaya çalışacağım. –
Bu public ImmutableEnumSet türünde ne gibi yararları görüyorsunuz, merak ediyorum? –