idea如何自動生成serialVersionUID
這篇文章主要介紹了idea如何自動生成serialVersionUID,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
當(dāng)我們用 IntelliJ IDEA 編寫類并實(shí)現(xiàn) Serializable(序列化)接口的時候,可能會遇到這樣一個問題,那就是:
無法自動生成serialVersionUID.
而serialVersionUID又是一個非常重要的字段,因?yàn)?Java 的序列化機(jī)制是通過在運(yùn)行時判斷類的serialVersionUID來驗(yàn)證版本一致性的。在進(jìn)行反序列化時,JVM 會把傳來的字節(jié)流中的serialVersionUID與本地相應(yīng)實(shí)體(類)的serialVersionUID進(jìn)行比較,如果相同就認(rèn)為是一致的,可以進(jìn)行反序列化,否則就會出現(xiàn)序列化版本不一致的異常。
一般來說,定義serialVersionUID的方式有兩種,分別為:
采用默認(rèn)的1L,具體為private static final long serialVersionUID = 1L;
根據(jù)類名、接口名、成員方法及屬性等來生成一個64位的哈希字段,例如 private static final long serialVersionUID = XXXL;
而 Java 類進(jìn)行序列化也兩個主要目的,分別為:
把對象的字節(jié)序列永久地保存到硬盤上,通常存放在一個文件中;
在網(wǎng)絡(luò)上傳送對象的字節(jié)序列。
在這里,我們就一起來看看如何利用 IntelliJ IDEA 自動生成serialVersionUID.
第 1 步:安裝GenerateSerialVersionUID插件,在這里,選擇Plugins,并搜索GenerateSerialVersionUID,如果沒有發(fā)現(xiàn)此插件,則可以點(diǎn)擊Search in repositories進(jìn)行搜索,我目前是已經(jīng)安裝狀態(tài),所以下面顯示的是uninstall,如果你未裝過,則顯示install,點(diǎn)擊install按鈕就可完成安裝。

第 2 步:設(shè)置Inspections功能

如上圖所示,進(jìn)入Default Settings,在Inspections設(shè)置頁面中,勾選Serializable class without 'serialVersionUID',并且還可以在Severity中設(shè)置提示級別,如Warning、Error等,默認(rèn)為Warning,也建議選擇Warning級別的提示。
創(chuàng)建一個類并實(shí)現(xiàn)Serializable接口,然后按alt+insert鍵,即可收到提示,然后選擇SerialVersionUID:

如上圖所示,顯然我們已經(jīng)利用 IntelliJ IDEA 中自動生成serialVersionUID啦!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
深度解析SpringBoot中@Async引起的循環(huán)依賴
本文主要介紹了深度解析SpringBoot中@Async引起的循環(huán)依賴,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Spring?Data?JPA實(shí)現(xiàn)數(shù)據(jù)持久化過程詳解
Spring?Data?JPA是一個流行的Java持久化框架,它在Java應(yīng)用程序中提供了一種簡單、一致和易于使用的方式來訪問各種數(shù)據(jù)庫。本文將介紹Spring?Data?JPA的基本概念和用法并提供一個完整的實(shí)例,幫助您更好地理解它的使用方法和優(yōu)勢2023-05-05
MyBatis中SqlSession實(shí)現(xiàn)增刪改查案例
這篇文章主要介紹了MyBatis中SqlSession實(shí)現(xiàn)增刪改查案例,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
java設(shè)計(jì)模式之建造者模式學(xué)習(xí)
建造者模式(Builder Pattern)主要用于“分步驟構(gòu)建一個復(fù)雜的對象”,在這其中“分步驟”是一個穩(wěn)定的算法,下面給出了詳細(xì)的示例2014-01-01
解決MyEclipse下啟動項(xiàng)目時JBoss內(nèi)存溢出的問題
下面小編就為大家?guī)硪黄鉀QMyEclipse下啟動項(xiàng)目時JBoss內(nèi)存溢出的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07

