溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

idea如何自動(dòng)生成serialVersionUID

發(fā)布時(shí)間:2020-09-07 13:51:20 來源:腳本之家 閱讀:221 作者:小白coder 欄目:編程語言

這篇文章主要介紹了idea如何自動(dòng)生成serialVersionUID,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

當(dāng)我們用 IntelliJ IDEA 編寫類并實(shí)現(xiàn) Serializable(序列化)接口的時(shí)候,可能會(huì)遇到這樣一個(gè)問題,那就是:

無法自動(dòng)生成serialVersionUID.

而serialVersionUID又是一個(gè)非常重要的字段,因?yàn)?Java 的序列化機(jī)制是通過在運(yùn)行時(shí)判斷類的serialVersionUID來驗(yàn)證版本一致性的。在進(jìn)行反序列化時(shí),JVM 會(huì)把傳來的字節(jié)流中的serialVersionUID與本地相應(yīng)實(shí)體(類)的serialVersionUID進(jìn)行比較,如果相同就認(rèn)為是一致的,可以進(jìn)行反序列化,否則就會(huì)出現(xiàn)序列化版本不一致的異常。

一般來說,定義serialVersionUID的方式有兩種,分別為:

采用默認(rèn)的1L,具體為private static final long serialVersionUID = 1L;
根據(jù)類名、接口名、成員方法及屬性等來生成一個(gè)64位的哈希字段,例如 private static final long serialVersionUID = XXXL;
而 Java 類進(jìn)行序列化也兩個(gè)主要目的,分別為:

把對(duì)象的字節(jié)序列永久地保存到硬盤上,通常存放在一個(gè)文件中;

在網(wǎng)絡(luò)上傳送對(duì)象的字節(jié)序列。

在這里,我們就一起來看看如何利用 IntelliJ IDEA 自動(dòng)生成serialVersionUID.

第 1 步:安裝GenerateSerialVersionUID插件,在這里,選擇Plugins,并搜索GenerateSerialVersionUID,如果沒有發(fā)現(xiàn)此插件,則可以點(diǎn)擊Search in repositories進(jìn)行搜索,我目前是已經(jīng)安裝狀態(tài),所以下面顯示的是uninstall,如果你未裝過,則顯示install,點(diǎn)擊install按鈕就可完成安裝。

idea如何自動(dòng)生成serialVersionUID

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

idea如何自動(dòng)生成serialVersionUID

如上圖所示,進(jìn)入Default Settings,在Inspections設(shè)置頁面中,勾選Serializable class without 'serialVersionUID',并且還可以在Severity中設(shè)置提示級(jí)別,如Warning、Error等,默認(rèn)為Warning,也建議選擇Warning級(jí)別的提示。

創(chuàng)建一個(gè)類并實(shí)現(xiàn)Serializable接口,然后按alt+insert鍵,即可收到提示,然后選擇SerialVersionUID:

idea如何自動(dòng)生成serialVersionUID

如上圖所示,顯然我們已經(jīng)利用 IntelliJ IDEA 中自動(dòng)生成serialVersionUID啦!

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI