В нашем приложении для одного класса (который является Сериализуемым) эхолот жалуется - Поля в классе "Сериализуемый" должны быть либо временными, либо сериализуемыми. Этот класс не сериализован нигде в нашем приложении. Но я не уверен, почему он реализует сериализуемый, потому что этот класс был написан давно.
Согласно документу Sonar, поля в Serializable классе должны быть либо Serializable, либо временными, даже если класс никогда не сериализуется явноили десериализованный. Но я не нашел точной причины этого.
Не могли бы вы объяснить, почему это вредно, если поля в классе "Serializable" не являются переходными или сериализуемыми? если класс никогда не сериализован или десериализован явно, то какой здесь вред?
Я проходил через Поля в классе «Сериализуемый» должны быть либо временными, либо сериализуемыми , но я не нашелправильный ответ на мой вопрос. Я нашел нижеприведенное утверждение, но не очень хорошо понимал
Например, при загрузке большинство каркасов приложений J2EE сбрасывают объекты на диск, и предположительно Serializable объект с непереходными, не сериализуемыми членами данных может вызвать программувылетает и открывает дверь злоумышленникам. В общем случае ожидается, что класс Serializable выполнит свой контракт и не будет иметь неожиданного поведения при сериализации экземпляра.
Спасибо