Класс ObjectStreamClass
java.lang.Object
java.io.ObjectStreamClass
- Все реализуемые интерфейсы:
Serializable
public 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 определяет набор классов с одинаковым именем, которые развивались от общего базового класса и соглашаются быть сериализованными и десериализованными с использованием общего формата. Классы NonSerializable имеют serialVersionUID 0L.
- Возвращает:
- СУИД класса, описываемого этим дескриптором
forClass
public Class<?> forClass()
Возвращает класс в локальной виртуальной машине, которому соответствует данная версия. Возвращает null, если соответствующего локального класса нет.
- Возвращает:
- экземпляр класса, который представляет этот дескриптор
getFields
public ObjectStreamField[] getFields()
Возвращает массив полей этого сериализуемого класса.
- Возвращает:
- массив, содержащий элемент для каждого постоянного поля этого класса. Возвращает массив длины 0, если полей нет.
- С момента:
- 1.2
getField
public ObjectStreamField getField(String name)
Получает поле этого класса по имени.
- Параметры:
-
name- имя поля данных для поиска - Возвращает:
- Объект ObjectStreamField поименованного поля или null, если такого поля нет.
toString
public String toString()
Возвращает строку, описывающую этот ObjectStreamClass.
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление объекта.
© 1993, 2021, 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/17/docs/api/java.base/java/io/ObjectStreamClass.html