2012-03-20 16 views
5

Ho sofferto di JumboEnumSet, ma non ho trovato molte informazioni.
quando e perché utilizziamo JumboEnumSet.Please qualcuno può spiegare su JumboEnumSet?quando e perché utilizzare JumboEnumSet

+1

Classe di implementazione privata per EnumSet, per tipi di enum "jumbo" (vale a dire, quelli con più di 64 elementi). http://www.docjar.com/docs/api/java/util/JumboEnumSet.html – Zohaib

+0

Penso che dovresti porre la domanda che stai affrontando. – tanyehzheng

risposta

11

Non è necessario utilizzarlo in modo esplicito: è solo un dettaglio di implementazione. Fondamentalmente, quando un enum è piccolo, EnumSet può utilizzare una rappresentazione molto efficiente dell'enum come singolo int o long (non ricordo quale) con un bit per membro. Quando ha più elementi di quelli consentiti da tale rappresentazione, viene utilizzato invece lo JumboEnumSet.

Non devi preoccuparti di questo - basta usare i membri su EnumSet e starai bene. Tieni presente che se le tue enumerazioni superano una certa dimensione, i set di enumerazione diventano più costosi e meno efficienti.

2

Non preoccuparti.

Il numero non può utilizzare direttamente la classe poiché è dichiarato come pacchetto privato. E non dovresti, dal momento che è descritto nella sua javadoc come una "classe di implementazione privata".

Problemi correlati