這篇文章主要介紹了idea如何自動(dòng)生成serialVersionUID,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),溪湖網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:溪湖等地區(qū)。溪湖做網(wǎng)站價(jià)格咨詢:18982081108當(dāng)我們用 IntelliJ IDEA 編寫類并實(shí)現(xiàn) Serializable(序列化)接口的時(shí)候,可能會(huì)遇到這樣一個(gè)問題,那就是:
無(wú)法自動(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按鈕就可完成安裝。
第 2 步:設(shè)置Inspections功能
如上圖所示,進(jìn)入Default Settings,在Inspections設(shè)置頁(yè)面中,勾選Serializable class without 'serialVersionUID',并且還可以在Severity中設(shè)置提示級(jí)別,如Warning、Error等,默認(rèn)為Warning,也建議選擇Warning級(jí)別的提示。
創(chuàng)建一個(gè)類并實(shí)現(xiàn)Serializable接口,然后按alt+insert鍵,即可收到提示,然后選擇SerialVersionUID:
如上圖所示,顯然我們已經(jīng)利用 IntelliJ IDEA 中自動(dòng)生成serialVersionUID啦!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)建站。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、建站服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。