В Java интерфейсы Collection не распространяют Serializable по нескольким веским причинам. Кроме того, большинство распространенных реализаций этих интерфейсов реализуют Serializable.
Таким образом, объекты, реализующие один из интерфейсов Collection, могут быть сериализованы, если сама реализация сериализуема (что обычно бывает) и, если объекты в коллекции все сериализуемы.
Но как я могу обеспечить выполнение этих двух условий? Я не хочу сталкиваться с ошибкой во время выполнения, поскольку компилятор может проверить эти условия. Я думаю о каком-то очевидном интерфейсе, например (showcase для интерфейса List):
public interface SerializableList<T extends Serializable> extends Serializable, List<T> {}
Мне интересно, не сталкивается ли кто-либо с этой проблемой и придумал это простое решение. До сих пор я не мог найти никакого решения или даже дискуссии по этому поводу, что заставляет меня сомневаться в моей идее.