У меня есть распределенная система с сериализуемым классом enum с константами, которые могут различаться в системе.Java-сериализация перечислений и valueOf
Поскольку эти классы могут быть разными, значениеOf потенциально может быть вызвано десериализацией на константу, которая не существует, вызывая исключение во время выполнения.
Я не верю, что valueOf может быть переопределен или другой пользовательский метод, вставленный перед вызовом valueOf во время десериализации.
Есть ли способ избежать этой проблемы с перечислениями?
Я думаю, что не совсем понятно, что вы хотите сделать: хотите ли вы десериализовать заданное значение в сериализованном объекте на разные перечисления в зависимости от некоторых внешних обстоятельств? –
Рассматривали ли вы добавление для этого настраиваемого статического метода? Вы делаете это звуком как проблема (или даже дефект) класса Enum, но это не так. Проблема заключается в непоследовательных константах. –
Я ищу, чтобы предотвратить десериализацию от взрыва при вызове valueOf на несуществующей постоянной. – Dirk