Spec-Zone.ru › OpenJDK 27

Класс ObjectStreamClass

java.lang.Object
java.io.ObjectStreamClass
Все реализованные интерфейсы:
Serializable
public final class ObjectStreamClass extends Object implements Serializable
Дескриптор сериализации для классов. Он содержит имя класса и его serialVersionUID. Дескриптор ObjectStreamClass для конкретного класса, загруженного в этой виртуальной машине Java, можно найти или создать с помощью метода lookup.

Алгоритм вычисления SerialVersionUID описан в разделе 4.6 «Уникальные идентификаторы потока» Спецификации сериализации объектов Java.

Начиная с версии:
1.1
Внешние спецификации
  • Спецификация сериализации объектов Java
См. также:
  • ObjectStreamField
  • Спецификация сериализации объектов Java, раздел 4 «Дескрипторы классов»
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final ObjectStreamField[] NO_FIELDS
Значение serialPersistentFields, указывающее на отсутствие сериализуемых полей

Краткое описание методов

Модификатор и тип Метод Описание
Class<?> forClass()
Возвращает класс в локальной виртуальной машине, которому сопоставлена эта версия.
ObjectStreamField getField(String name)
Получает поле этого класса по имени.
ObjectStreamField[] getFields()
Возвращает массив полей этого сериализуемого класса.
String getName()
Возвращает имя класса, описываемого этим дескриптором.
long getSerialVersionUID()
Возвращает serialVersionUID этого класса.
static ObjectStreamClass lookup(Class<?> cl)
Находит дескриптор сериализуемого класса.
static ObjectStreamClass lookupAny(Class<?> cl)
Возвращает дескриптор любого класса, независимо от того, реализует ли он Serializable.
String toString()
Возвращает строку с описанием этого ObjectStreamClass.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API планируется удалить в будущей версии.
Метод финализации устарел и планируется к удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание полей

NO_FIELDS

public static final ObjectStreamField[] NO_FIELDS
Значение serialPersistentFields, указывающее на отсутствие сериализуемых полей

Подробное описание методов

lookup

public static ObjectStreamClass lookup(Class<?> cl)
Находит дескриптор сериализуемого класса. Если для класса еще не существует экземпляра ObjectStreamClass, создает его. Возвращает null, если указанный класс не реализует java.io.Serializable или java.io.Externalizable.
Параметры:
cl — класс, для которого нужно получить дескриптор
Возвращает:
дескриптор указанного класса

lookupAny

public static ObjectStreamClass lookupAny(Class<?> cl)
Возвращает дескриптор любого класса, независимо от того, реализует ли он Serializable.
Параметры:
cl — класс, для которого нужно получить дескриптор
Возвращает:
дескриптор указанного класса
Начиная с версии:
1.6

getName

public String getName()
Возвращает имя класса, описываемого этим дескриптором. Этот метод возвращает имя класса в формате, используемом методом Class.getName().
Возвращает:
строку, представляющую имя класса

getSerialVersionUID

public long getSerialVersionUID()
Возвращает serialVersionUID этого класса. serialVersionUID определяет набор классов с одинаковым именем, которые развились из общего корневого класса и согласны сериализоваться и десериализоваться в общем формате. Для несериализуемых классов serialVersionUID равен 0L.
Возвращает:
SUID класса, описываемого этим дескриптором

forClass

public Class<?> forClass()
Возвращает класс в локальной виртуальной машине, которому сопоставлена эта версия. Возвращает null, если соответствующего локального класса нет.
Возвращает:
экземпляр Class, представленный этим дескриптором

getFields

public ObjectStreamField[] getFields()
Возвращает массив полей этого сериализуемого класса.
Возвращает:
массив, содержащий элемент для каждого сохраняемого поля этого класса. Если полей нет, возвращается массив нулевой длины.
Начиная с версии:
1.2

getField

public ObjectStreamField getField(String name)
Получает поле этого класса по имени.
Параметры:
name — имя искомого поля данных
Возвращает:
объект ObjectStreamField для поля с указанным именем или null, если такого поля нет.

toString

public String toString()
Возвращает строку с описанием этого ObjectStreamClass.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, общие сведения, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API