Перечисление ClassFile.ConstantPoolSharingOption
- Все реализуемые интерфейсы:
Serializable, ClassFile.Option, Comparable<ClassFile.ConstantPoolSharingOption>, Constable
- Охватывающий интерфейс:
ClassFile
public static enum ClassFile.ConstantPoolSharingOption extends Enum<ClassFile.ConstantPoolSharingOption> implements ClassFile.Option
class. По умолчанию используется SHARED_POOL, чтобы расширять исходный пул констант. Этот параметр влияет на все перегруженные варианты метода transformClass. Расширение исходного пула констант сохраняет индексы в пуле неизменными, что позволяет значительно оптимизировать время обработки и минимизировать различия между исходными и преобразованными файлами
class, но может привести к увеличению размера преобразованного файла class, если многие элементы исходного файла class удалены, а многие исходные записи пула констант становятся неиспользуемыми.
Альтернатива этому параметру — непосредственно использовать ClassFile.build(ClassEntry, ConstantPoolBuilder, Consumer). Он позволяет расширять произвольные пулы констант и может быть полезен, если создаваемый файл class повторно использует структуры из нескольких исходных файлов class.
- С версии:
- 24
- См. также:
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в классе Enum
Enum.EnumDesc<E> | Модификатор и тип | Класс | Описание |
|---|---|---|
static final class |
Enum.EnumDesc<E extends Enum<E>> |
Номинальный дескриптор константы enum. |
Краткое описание констант перечисления
| Константа перечисления | Описание |
|---|---|
NEW_POOL |
Создает новый пул констант при преобразовании файла class. |
SHARED_POOL |
Расширяет новый пул констант исходным пулом констант при преобразовании файла class. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static ClassFile.ConstantPoolSharingOption |
valueOf |
Возвращает константу перечисления этого класса с указанным именем. |
static ClassFile.ConstantPoolSharingOption[] |
values() |
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления. |
Методы, объявленные в классе Enum
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf | Модификатор и тип | Метод | Описание |
|---|---|---|
protected final Object |
clone() |
Выбрасывает CloneNotSupportedException. |
final int |
compareTo |
Сравнивает это перечисление с указанным объектом с точки зрения порядка. |
final Optional |
describeConstable() |
Возвращает дескриптор перечисления EnumDesc для этого экземпляра, если его можно создать, или пустой объект Optional, если создать его невозможно. |
final boolean |
equals |
Возвращает true, если указанный объект равен этой константе перечисления. |
protected final void |
finalize() |
Устарело и подлежит удалению: этот элемент API может быть удален в будущей версии. Метод finalize() устарел и подлежит удалению. |
final Class |
getDeclaringClass() |
Возвращает объект Class, соответствующий типу перечисления этой константы перечисления. |
final int |
hashCode() |
Возвращает хеш-код этой константы перечисления. |
final String |
name() |
Возвращает имя этой константы перечисления точно в том виде, в каком оно указано в объявлении перечисления. |
final int |
ordinal() |
Возвращает порядковый номер этой константы перечисления (ее позицию в объявлении перечисления, где первой константе присваивается номер 0). |
String |
toString() |
Возвращает имя этой константы перечисления, указанное в объявлении. |
static <T extends Enum<T>> |
valueOf |
Возвращает константу указанного класса перечисления с указанным именем. |
Методы, объявленные в классе Object
getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
final Class |
getClass() |
Возвращает класс времени выполнения этого объекта Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание констант перечисления
SHARED_POOL
public static final ClassFile.ConstantPoolSharingOption SHARED_POOL
class. Следующие два преобразования эквивалентны:
ClassModel originalClass = ...
ClassDesc resultClassName = ...
ClassTransform classTransform = ...
var resultOne = ClassFile.of(ConstantPoolSharingOption.SHARED_POOL)
.transformClass(originalClass, resultClassName, classTransform);
var resultTwo = ClassFile.of().build(resultClassName, ConstantPoolBuilder.of(originalClass),
clb -> clb.transform(originalClass, classTransform));
- См. также:
NEW_POOL
public static final ClassFile.ConstantPoolSharingOption NEW_POOL
class. Следующие два преобразования эквивалентны:
ClassModel originalClass = ...
ClassDesc resultClassName = ...
ClassTransform classTransform = ...
var resultOne = ClassFile.of(ConstantPoolSharingOption.NEW_POOL)
.transformClass(originalClass, resultClassName, classTransform);
var resultTwo = ClassFile.of().build(resultClassName, ConstantPoolBuilder.of(),
clb -> clb.transform(originalClass, classTransform));
- См. также:
Подробное описание методов
values
public static ClassFile.ConstantPoolSharingOption[] values()
- Возвращает:
- массив, содержащий константы этого класса перечисления в порядке их объявления
valueOf
public static ClassFile.ConstantPoolSharingOption valueOf(String name)
- Параметры:
-
name— имя возвращаемой константы перечисления. - Возвращает:
- константу перечисления с указанным именем
- Выбрасывает:
-
IllegalArgumentException— если в этом классе перечисления нет константы с указанным именем -
NullPointerException— если аргумент равен null
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.