Класс ObjectStreamClass
java.lang.Object
java.io.ObjectStreamClass
- Все реализуемые интерфейсы:
Serializable
public final class ObjectStreamClass extends Object implements Serializable
Дескриптор класса для сериализации. Он содержит имя и serialVersionUID класса. Экземпляр ObjectStreamClass для конкретного класса, загруженного в эту виртуальную машину Java, можно найти или создать с помощью метода lookup.
Алгоритм вычисления SerialVersionUID описан в Спецификации сериализации объектов Java, раздел 4.6 «Уникальные идентификаторы потока».
- Начиная с версии:
- 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. |
Подробное описание полей
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/ObjectStreamClass.html