IntelliJIDEA中如何自動(dòng)生成serialVersionUID-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)IntelliJ IDEA中如何自動(dòng)生成serialVersionUID的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的長(zhǎng)沙網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

serialVersionUID介紹

再編程過(guò)程中當(dāng)涉及到對(duì)象的傳輸問(wèn)題時(shí),我們會(huì)采用序列化的技術(shù),通過(guò)序列化可以將對(duì)象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或傳輸?shù)男问降倪^(guò)程。在Java當(dāng)中我們可以通過(guò)實(shí)現(xiàn)Serializable接口來(lái)序列化對(duì)象,而serialVersionUID就是Java序列化機(jī)制中一個(gè)不可或缺的角色,可以通過(guò)在運(yùn)行時(shí)判斷類(lèi)的serialVersionUID來(lái)驗(yàn)證版本一致性。在進(jìn)行反序列化時(shí),JVM會(huì)把傳來(lái)的字節(jié)流中的serialVersionUID與本地相應(yīng)實(shí)體(類(lèi))的serialVersionUID進(jìn)行比較,如果相同就認(rèn)為是一致的,可以進(jìn)行反序列化,否則就會(huì)出現(xiàn)序列化版本不一致的異常。

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

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

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

一般來(lái)說(shuō),定義serialVersionUID的方式有兩種,分別為:

  1. 采用默認(rèn)的1L,具體為private static final long serialVersionUID = 1L;

  2. 根據(jù)類(lèi)名、接口名、成員方法及屬性等來(lái)生成一個(gè)64位的哈希字段,例如 private static final long serialVersionUID = XXXL;

而 Java 類(lèi)進(jìn)行序列化也兩個(gè)主要目的,分別為:

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

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

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

第 1 步:安裝GenerateSerialVersionUID插件

IntelliJ IDEA中如何自動(dòng)生成serialVersionUID

如上圖所示,點(diǎn)擊Preferences,進(jìn)入如下界面:

IntelliJ IDEA中如何自動(dòng)生成serialVersionUID

在這里,選擇Plugins,并搜索GenerateSerialVersionUID,如果沒(méi)有發(fā)現(xiàn)此插件,則可以點(diǎn)擊Search in repositories進(jìn)行搜索:

IntelliJ IDEA中如何自動(dòng)生成serialVersionUID

如上圖所示,點(diǎn)擊install,即可安裝此插件。

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

IntelliJ IDEA中如何自動(dòng)生成serialVersionUID

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

IntelliJ IDEA中如何自動(dòng)生成serialVersionUID

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

IntelliJ IDEA中如何自動(dòng)生成serialVersionUID

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

感謝各位的閱讀!關(guān)于“IntelliJ IDEA中如何自動(dòng)生成serialVersionUID”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

文章名稱(chēng):IntelliJIDEA中如何自動(dòng)生成serialVersionUID-創(chuàng)新互聯(lián)
當(dāng)前地址:http://muchs.cn/article36/cshgsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、手機(jī)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)、企業(yè)建站、微信公眾號(hào)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司