Ну, зависит от того, как производится десериализация. Если объект сначала создается с помощью конструктора без аргументов, а затем поля задаются с помощью установщиков или отражений, я бы сказал, что это должно сработать. В этом случае каждая ссылка на другие объекты была бы нулевой, тогда как примитивные типы получают свои значения по умолчанию (для чисел 0, для логического false и т. Д.)