IDEA生成serialVersionUID的方法圖文詳解
序列化和反序列化
Java是面向?qū)ο蟮恼Z言,與其他語言進行交互(比如與前端js進行http通信),需要把對象轉(zhuǎn)化成一種通用的格式比如json(前端顯然不認識Java對象),從對象到j(luò)son字符串的轉(zhuǎn)換,就是序列化的過程,反過來,從json字符串轉(zhuǎn)換成Java對象,就是反序列化的過程。
serialVersionUID是什么
反序列化的過程,需要從一個json字符串生成一個Java對象。
Gson gson = new Gson(); Request req = gson.fromJson("request string", Request.class)
這時候會有問題,需要驗證輸入的json字符串是否是從當前的Request這個類序列化過去的,serialVersionUID就是用來干這個的。當序列化的時候的serialVersionUID與反序列化的時候的serialVersionUID不一致的時候,會跑出InvalidCalssException。
====================================================================
具體的序列化過程是這樣的:序列化操作的時候系統(tǒng)會把當前類的serialVersionUID寫入到序列化文件中,當反序列化時系統(tǒng)會去檢測文件中的serialVersionUID,判斷它是否與當前類的serialVersionUID一致,如果一致就說明序列化類的版本與當前類版本是一樣的,可以反序列化成功,否則失敗。
生成 serialVersionUID
1.首先實現(xiàn)類需要實現(xiàn)Serializable接口
2.點擊File--> settings,在settings的搜索框搜索serializable,然后在一以下兩個地方打上勾
3.最后選中要生成serialVersionUID的類的類名,按住Alt+Enter即可生成
總結(jié)
到此這篇關(guān)于IDEA生成serialVersionUID的文章就介紹到這了,更多相關(guān)IDEA生成serialVersionUID內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用MyBatis攔截器實現(xiàn)sql查詢權(quán)限動態(tài)修改代碼實例
這篇文章主要介紹了使用MyBatis攔截器實現(xiàn)sql查詢權(quán)限動態(tài)修改代碼實例,為了不耦合,現(xiàn)在的方案是在需要鑒權(quán)的Mybatis?Mapper方法上增加一個注解,在運行過程中判斷該注解存在即對sql進行修改,需要的朋友可以參考下2023-08-08IDEA中實體類(POJO)與JSON快速互轉(zhuǎn)問題
這篇文章主要介紹了IDEA中實體類(POJO)與JSON快速互轉(zhuǎn),本文通過圖文實例代碼相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下2022-08-08Java基本數(shù)據(jù)類型之間的相互轉(zhuǎn)換詳解
這篇文章主要講解Java中基本數(shù)據(jù)類型的轉(zhuǎn)換,數(shù)據(jù)之間相互轉(zhuǎn)換是經(jīng)常會用到的基礎(chǔ)操作,文中講的很清晰,希望能給大家做一個參考。2022-05-05Java基礎(chǔ)知識精通循環(huán)結(jié)構(gòu)與break及continue
循環(huán)結(jié)構(gòu)是指在程序中需要反復(fù)執(zhí)行某個功能而設(shè)置的一種程序結(jié)構(gòu)。它由循環(huán)體中的條件,判斷繼續(xù)執(zhí)行某個功能還是退出循環(huán),選擇結(jié)構(gòu)用于判斷給定的條件,根據(jù)判斷的結(jié)果判斷某些條件,根據(jù)判斷的結(jié)果來控制程序的流程2022-04-04Java的靜態(tài)方法Arrays.asList()使用指南
Arrays.asList() 是一個 Java 的靜態(tài)方法,它可以把一個數(shù)組或者多個參數(shù)轉(zhuǎn)換成一個 List 集合,這個方法可以作為數(shù)組和集合之間的橋梁,方便我們使用集合的一些方法和特性,本文將介紹 Arrays.asList() 的語法、應(yīng)用場景、坑點和總結(jié)2023-09-09SpringBoot2.4.2下使用Redis配置Lettuce的示例
這篇文章主要介紹了SpringBoot2.4.2下使用Redis配置Lettuce,Springboot2.4.2下默認使用的就是Lettuce而不是Jedis因此無需在依賴進行排除Jedis,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2022-01-01