Класс ObjectStreamClass
java.lang.Object
java.io.ObjectStreamClass
- Все реализованные интерфейсы:
Serializable
public final class ObjectStreamClass extends Object implements Serializable
Описание класса для сериализации. Содержит имя и serialVersionUID класса. Объект ObjectStreamClass для конкретного класса, загруженного в данной виртуальной машине Java, можно найти/создать, используя метод поиска.
Алгоритм вычисления 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 определяет набор классов с одинаковым именем, которые эволюционировали от общего базового класса и согласны быть сериализованы и десериализованы с использованием общего формата. У классов NonSerializable 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 - Возвращает:
- строковое представление объекта.
© 1993, 2023, 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/21/docs/api/java.base/java/io/ObjectStreamClass.html