94. Understanding record serialization
In order to understand how Java records are serialized/deserialized, let’s have a parallel between classical code based on plain Java classes and the same code but expressed via the Java record’s syntactical sugar.
So, let’s consider the following two plain Java classes (we have to explicitly implement the Serializable
interface because, in the second part of this problem, we want to serialize/deserialize these classes):
public class Melon implements Serializable {
private final String type;
private final float weight;
public Melon(String type, float weight) {
this.type = type;
this.weight = weight;
}
// getters, hashCode(), equals(), and toString()
}
And, the MelonContainer
class that uses the previous Melon
class:
public class MelonContainer implements Serializable {
private final LocalDate expiration;
private final String batch;
private final Melon melon;
public MelonContainer...