Класс ObjectStreamClass
- java.lang.Object
-
- java.io.ObjectStreamClass
- Все реализованные интерфейсы:
- Serializable
public class ObjectStreamClass extends Object implements Serializable
Описание класса для сериализации. Содержит имя и serialVersionUID класса. Объект ObjectStreamClass для конкретного класса, загруженного в этой виртуальной машине Java, можно найти/создать с помощью метода поиска.
Алгоритм вычисления serialVersionUID описан в Спецификации сериализации объектов, раздел 4.6, Уникальные идентификаторы потоков.
- С момента:
- JDK1.1
- См. также:
-
ObjectStreamField, Спецификация сериализации объектов, раздел 4, Описания классов, Сериализованная форма
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static 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) Возвращает описатель любого класса, независимо от того, реализует ли он |
String |
toString() Возвращает строку, описывающую этот ObjectStreamClass. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Поля
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 определяет набор классов, имеющих одинаковое имя, которые эволюционировали из одного корневого класса и соглашаются быть сериализованными и десериализованными с использованием общего формата. Классы, не являющиеся Serializable, имеют 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.
© 1993, 2020, 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.