Why am I having an InvalidClassException thrown during the serialization of my object which implements the Externalizable interface?

Unlike objects which implement the Serializable interface, it is mandatory for objects implementing the Externalizable interface to also implement a public no-arg constructor. This constructor is the very first thing that is invoked by readExternal() when reconstructing the object from the bytestream. If a public no-arg constructor is absent, then an InvalidClassException is immediately thrown.

Advertiser Disclosure:
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.