系統(tǒng)軟件園 - 專注分享最好的電腦系統(tǒng)軟件!免費(fèi)安全下載 系統(tǒng)軟件園首頁 | Win7激活工具 | 熱門專題
系統(tǒng)軟件園>您的位置:首頁 > > 系統(tǒng)教程 > Win7系統(tǒng)教程 >

serialversionuid如何生成?serialversionuid生成方法及作用解析

更新時(shí)間:2022-08-13 09:55:00| 編輯:本站整理 | 信息來源:本站整理|瀏覽數(shù):

serialVersionUID用作Serializable類中的版本控件。如果您沒有顯式聲明serialVersionUID,JVM將根據(jù)您的Serializable類的各個(gè)方面自動(dòng)為您執(zhí)行此操作,那么serialVersionUID如何生成?在程序開發(fā)的過程中經(jīng)常需要把類序列化,不過在類系列化之前需要生成一個(gè)serialVersionUID,我們可以通過三種方法得到serialVersionUID,具體過程請(qǐng)看下文。

serialversionuid如何生成?serialversionuid生成方法及作用解析

serialVersionUID適用于java序列化機(jī)制。簡(jiǎn)單來說,JAVA序列化的機(jī)制是通過判斷類的serialVersionUID來驗(yàn)證的版本一致的。在進(jìn)行反序列化時(shí),JVM會(huì)把傳來的字節(jié)流中的serialVersionUID于本地相應(yīng)實(shí)體類的serialVersionUID進(jìn)行比較。如果相同說明是一致的,可以進(jìn)行反序列化,否則會(huì)出現(xiàn)反序列化版本一致的異常,即是InvalidCastException。
 

生成serialVersionUID之前需要序列化類

1、這里我用的是MyEclipse工具,先打開MyEclipse,然后點(diǎn)擊導(dǎo)航上面的【File】菜單,然后選擇New,在點(diǎn)擊Java Project,來新建個(gè)測(cè)試工程,如下圖所示。

serialversionuid如何生成?serialversionuid生成方法及作用解析

2、新建好工程后,選中新建的工程名稱,然后點(diǎn)擊鼠標(biāo)右鍵,選擇【New】,然后在右側(cè)選擇點(diǎn)擊Class,來創(chuàng)建生成serialVersionUID的類,如下圖所示。

serialversionuid如何生成?serialversionuid生成方法及作用解析

3、新建的類一定要實(shí)現(xiàn)Serializable這個(gè)序列化類,只有繼續(xù)這個(gè)類后,才能生成serialVersionUID。繼承后,在我們的開發(fā)工具里就會(huì)有黃色提醒,代碼如下:

import java.io.Serializable;
public class SerialVersionUID implements Serializable {
private String name = "jingyan";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

 

serialversionuid如何生成?serialversionuid生成方法及作用解析

一、生成默認(rèn)的serialVersionUID

1、在上面創(chuàng)建好繼承序列化接口的類后,我們直接點(diǎn)擊左側(cè)的黃色亮點(diǎn),然后在彈出菜單里,點(diǎn)擊【Add default serial version ID】這個(gè)選項(xiàng),就可以自動(dòng)生成serialVersionUID了,如下圖所示。

serialversionuid如何生成?serialversionuid生成方法及作用解析

2、點(diǎn)擊后,開發(fā)工具就會(huì)給我們自動(dòng)生成了serialVersionUID。

private static final long serialVersionUID = 1L;
 

注意:這個(gè)自動(dòng)生成后的1L是不能自己修改的。

serialversionuid如何生成?serialversionuid生成方法及作用解析

二、生成串行serialVersionUID

1、這種方法也是直接點(diǎn)擊左側(cè)的黃色亮點(diǎn),然后在彈出菜單里,點(diǎn)擊【Add generated serial version ID】這個(gè)選項(xiàng),就可以自動(dòng)生成serialVersionUID了,如下圖所示。

serialversionuid如何生成?serialversionuid生成方法及作用解析

2、點(diǎn)擊后,開發(fā)工具就會(huì)給我們自動(dòng)生成了一個(gè)serialVersionUID。

private static final long serialVersionUID = 5573832826736049153L;

注意:這個(gè)自動(dòng)生成后的一竄數(shù)字是不能自己修改的。

serialversionuid如何生成?serialversionuid生成方法及作用解析

三、注解生成serialVersionUID

這種方法也很簡(jiǎn)單,也是直接點(diǎn)擊左側(cè)的黃色亮點(diǎn),然后在彈出菜單里,點(diǎn)擊【Add @SuppressWarnings serial to serialVersionUID】這個(gè)選項(xiàng),這樣就可以了,如下圖所示。

serialversionuid如何生成?serialversionuid生成方法及作用解析

點(diǎn)擊后,開發(fā)工具就會(huì)并沒有給我們像上面一樣生成一竄數(shù)字,而是在類名上面加了個(gè)@SuppressWarnings(“serial”)。這樣就實(shí)現(xiàn)了serialVersionUID,如下圖所示。

serialversionuid如何生成?serialversionuid生成方法及作用解析

SUN強(qiáng)烈建議開發(fā)人員聲明serialVersionUID以避免上面列出的不同JVM問題,但我建議您應(yīng)該了解什么是序列化,serialVersionUID如何實(shí)現(xiàn)版本控制以及您的類需要使用序列化的原因。了解serialVersionUID概念優(yōu)于任何推薦的盲目。


返回頂部


系統(tǒng)軟件園發(fā)布的系統(tǒng)鏡像及軟件均來至互聯(lián)網(wǎng),僅供學(xué)習(xí)和研究使用,不得用于任何商業(yè)用途并請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除,如果滿意請(qǐng)聯(lián)系版權(quán)方購買。
如果您發(fā)現(xiàn)本站侵害了您的版權(quán),請(qǐng)立即聯(lián)系我們,本站將第一時(shí)間進(jìn)行相關(guān)處理。聯(lián)系方式(見首頁)
版權(quán)聲明|下載聲明 Copyright @ 2016 系統(tǒng)軟件園