Java.io.ObjectStreamClass in Java
Last Updated : 06 Jul, 2023
This class is serialization’s descriptor for classes. It contains the name and serialVersionUID of the class. The ObjectStreamClass for a specific class loaded in this Java VM can be found/created using the lookup method. It extends class Object and implement serialisable.
Fields: static ObjectStreamField[] NO_FIELDS– This is the serialPersistentFields value indicating no serializable fields.
Methods:
Class forClass(): This method return the class in the local VM that this version is mapped to. Null is returned if there is no corresponding local class.
Syntax: public Class forClass()
Returns: the Class instance that this descriptor represents
Exception: NA
static ObjectStreamClass lookup(Class class): Find the descriptor for a class that can be serialized. Creates an ObjectStreamClass instance if one does not exist yet for class. Null is returned if the specified class does not implement java.io.Serializable or java.io.Externalizable.
Syntax: public static ObjectStreamClass lookup(Class cl)
Return: the class descriptor for the specified class
Exception: NA
static ObjectStreamClass lookupAny(Class class): Returns the descriptor for any class, regardless of whether it implements Serializable.
Syntax: public static ObjectStreamClass lookupAny(Class class)
Return: the class descriptor for the specified class
Exception: NA
Java
import java.io.ObjectStreamClass; import java.util.ArrayList; public class ObjectStreamDemo { public static void main(String arg[]) { ObjectStreamClass geeks_stream = ObjectStreamClass.lookup(Number. class ); ObjectStreamClass quiz_stream = ObjectStreamClass.lookupAny(ArrayList. class ); System.out.println(geeks_stream.forClass()); System.out.println(quiz_stream.forClass()); } } |
Output:
class java.lang.Number
class java.util.ArrayList
ObjectStreamField getField(String name): Get the field of this class by name.
Syntax: public ObjectStreamField getField(String name)
Return: The ObjectStreamField object of the named
field or null if there is no such named field.
Exception: NA
ObjectStreamField[] getFields(): Return an array of the fields of this serializable class.
Syntax: public ObjectStreamField[] getFields()
Returns: an array containing an element for each
persistent field of this class. Returns an array of length zero if
there are no fields.
Exception: NA
String getName(): Returns the name of the class described by this descriptor. This method returns the name of the class in the format that is used by the Class.getName() method.
Syntax: public String getName()
Return: a string representing the name of the class
Exception: NA
long getSerialVersionUID(): Return the serialVersionUID for this class. The serialVersionUID defines a set of classes all with the same name that have evolved from a common root class and agree to be serialized and deserialized using a common format. NonSerializable classes have a serialVersionUID of 0L.
Syntax: public long getSerialVersionUID()
Returns: the SUID of the class described by this descriptor
Exception: NA
String toString(): Return a string describing this ObjectStreamClass.
Syntax: public String toString()
Returns: a string representation of the object.
Exception: NA
Java
import java.io.ObjectStreamClass; import java.util.ArrayList; public class ObjectStreamDemo { public static void main(String arg[]) { ObjectStreamClass geeks_stream = ObjectStreamClass.lookup(Number. class ); System.out.println(geeks_stream.getField("quiz_stream")); System.out.println(geeks_stream.getFields()); System.out.println(" class name: " + geeks_stream.getClass()); System.out.println(geeks_stream.getSerialVersionUID()); System.out.println(geeks_stream.toString()); } } |
Output:
null
[Ljava.io.ObjectStreamField;@45ee12a7
class name: class java.io.ObjectStreamClass
-8742448824652078965
java.lang.Number: static final long serialVersionUID = -8742448824652078965L;
Similar Reads
Java.io.ObjectInputStream Class in Java | Set 1
ObjectInputStream Class deserializes the primitive data and objects previously written by ObjectOutputStream. Both ObjectOutputStream and ObjectInputStream are used as it provides storage for graphs of object.It ensures that the object it is working for, matches the classes of JVM i.e Java Virtual M
9 min read
Java.io.ObjectInputStream Class in Java | Set 2
Java.io.ObjectInputStream Class in Java | Set 1 Note : Java codes mentioned in this article won't run on Online IDE as the file used in the code doesn't exists online. So, to verify the working of the codes, you can copy them to your System and can run it over there. More Methods of ObjectInputStrea
6 min read
Java.io.SequenceInputStream in Java
The SequenceInputStream class allows you to concatenate multiple InputStreams. It reads data of streams one by one. It starts out with an ordered collection of input streams and reads from the first one until end of file is reached, whereupon it reads from the second one, and so on, until end of fil
3 min read
Java.io.ObjectOutputStream Class in Java | Set 1
An ObjectOutputStream writes primitive data types and graphs of Java objects to an OutputStream. The objects can be read (reconstituted) using an ObjectInputStream. Persistent storage of objects can be accomplished by using a file for the stream. Only objects that support the java.io.Serializable in
9 min read
Java IO ObjectStreamField
The Java. io. ObjectStreamField class is a description of a Serializable field from a Serializable interface. This class is serializationâs descriptor for classes. An array of The ObjectStreamFields is utilized to maintain the Serializable fields of a class. It includes the name and serialVersionUID
3 min read
Java.io.OutputStream class in Java
This abstract class is the superclass of all classes representing an output stream of bytes. An output stream accepts output bytes and sends them to some sink. Applications that need to define a subclass of OutputStream must always provide at least a method that writes one byte of output. Constructo
2 min read
Java.io Package in Java
Java.io Package in JavaThis package provides for system input and output through data streams, serialization and the file system. Unless otherwise noted, passing a null argument to a constructor or method in any class or interface in this package will cause a NullPointerException to be thrown. Follo
1 min read
Java.io.PipedInputStream class in Java
Pipes in IO provides a link between two threads running in JVM at the same time. So, Pipes are used both as source or destination. PipedInputStream is also piped with PipedOutputStream. So, data can be written using PipedOutputStream and can be written using PipedInputStream.But, using both threads
5 min read
Java.io.PushbackInputStream class in Java
Pushback is used on an input stream to allow a byte to be read and then returned (i.e, "pushed back") to the stream. The PushbackInputStream class implements this idea. It provides a mechanism "peek" at what is coming from an input stream without disrupting it. It extends FilterInputStream.Fields: p
7 min read
Java.io.Printstream Class in Java | Set 2
Java.io.Printstream Class in Java | Set 1More Methods: PrintStream printf(Locale l, String format, Object... args) : A convenience method to write a formatted string to this output stream using the specified format string and arguments. Syntax :public PrintStream printf(Locale l, String format, Obje
6 min read