2012-03-20 18 views
5

He sufrido sobre JumboEnumSet, pero no encontré mucha información sobre.
cuándo y por qué usamos JumboEnumSet. Por favor, ¿alguien puede explicar acerca de JumboEnumSet?cuándo y por qué uso JumboEnumSet

+1

Clase de implementación privada para EnumSet, para tipos de enum "jumbo" (es decir, aquellos con más de 64 elementos). http://www.docjar.com/docs/api/java/util/JumboEnumSet.html – Zohaib

+0

Creo que debería hacer la pregunta que está enfrentando. – tanyehzheng

Respuesta

11

No necesita usarlo explícitamente, es solo un detalle de implementación. Básicamente, cuando una enumeración es pequeña, EnumSet puede usar una representación muy eficiente de la enumeración como un solo int o long (se me olvida cuál) con un bit por miembro. Cuando tiene más elementos de los que permite la representación, se usa JumboEnumSet en su lugar.

No tiene que preocuparse por esto, solo use los miembros en EnumSet y todo irá bien. Solo tenga en cuenta que si sus enumeraciones sobrepasan cierto tamaño, entonces los conjuntos enum se vuelven más caros y menos eficientes.

2

No te preocupes.

Usted no puede utilizar la clase directamente porque se declara como paquete privado. Y no debería, ya que se describe en su javadoc como una "clase de implementación privada".

Cuestiones relacionadas