Класс 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
- Внешние спецификации
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final ObjectStreamField[] |
NO_FIELDS |
Значение serialPersistentFields, указывающее на отсутствие сериализуемых полей |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Class |
forClass() |
Возвращает класс в локальной виртуальной машине, которому сопоставлена эта версия. |
ObjectStreamField |
getField |
Получает поле этого класса по имени. |
ObjectStreamField[] |
getFields() |
Возвращает массив полей этого сериализуемого класса. |
String |
getName() |
Возвращает имя класса, описываемого этим дескриптором. |
long |
getSerialVersionUID() |
Возвращает serialVersionUID этого класса. |
static ObjectStreamClass |
lookup |
Находит дескриптор сериализуемого класса. |
static ObjectStreamClass |
lookupAny |
Возвращает дескриптор любого класса, независимо от того, реализует ли он Serializable. |
String |
toString() |
Возвращает строку с описанием этого ObjectStreamClass. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API планируется удалить в будущей версии. Метод финализации устарел и планируется к удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова 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
© 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.