詳細IntelliJIDEAでserialVersionUIDを自動的に生成する方法



Details How Automatically Generate Serialversionuid Intellij Idea



IntelliJ IDEAを使用してクラスを記述し、Serializableインターフェイスを実装すると、次の問題が発生する可能性があります。

  • 自動生成できませんserialVersionUID

およびserialVersionUID Javaのシリアル化メカニズムは実行時にクラスを判断するため、もう1つの非常に重要なフィールドです。serialVersionUIDバージョンの整合性を検証するため。デシリアライズするとき、JVMは着信バイトストリームを配置しますserialVersionUIDローカルの対応するエンティティ(クラス)とserialVersionUID比較のために、同じものが一貫していると見なされる場合はデシリアライズできます。シリアル化されたバージョンでは矛盾があります。



一般的に、定義serialVersionUID 2つの方法があります。

  • デフォルトを採用1L、具体的にはprivate static final long serialVersionUID = 1L
  • クラス名、インターフェイス名、メンバーメソッド、および属性に基づいて生成します。64ビットのハッシュフィールド(例:private static final long serialVersionUID = XXXL

Javaクラスのシリアル化には、次の2つの主な目的もあります。



  • オブジェクトのバイトシーケンスをハードディスク(通常はファイル)に永続的に保存します
  • オブジェクトの一連のバイトがネットワークを介して送信されます。

ここでは、IntelliJIDEAを使用して自動生成する方法を見てみましょう。| ​​_ + _ |。

ステップ1:インストールserialVersionUIDプラグイン

1



上に示したように、GenerateSerialVersionUIDをクリックし、次のように入力します インターフェース

二

ここで、選択Preferencesそして検索Pluginsこのプラグインが見つからない場合は、クリックすることができますGenerateSerialVersionUID検索:

3

上に示したように、Search in repositoriesをクリックすると、このプラグインをインストールできます。

ステップ2:セットアップinstall機能

4

上記のように、次のように入力しますInspections、in Default Settings設定ページでInspectionsをチェックしますSerializable class without 'serialVersionUID'プロンプトレベルを設定しますSeverityWarningなど、デフォルトはError推奨Warningレベルヒント。

5

クラスを作成し、上記のように実装しますWarning Interface、次にSerializable + alt Keyを押すと、プロンプトが表示され、Enter:を選択できます。

6

上に示したように、明らかにIntelliJ IDEA SerialVersionUID La!の自動生成を利用しています。

転載元: https://blog.csdn.net/qq_35246620/article/details/77686098