Java魔法值處理的四種方式
1、魔法值的定義
魔法值是 Java 中突兀出現(xiàn)在代碼中的常量
比如:
if(user.status==2){ }
這段代碼里面的2就是一個魔法值,這樣的數(shù)據(jù)會使得代碼難以理解,并且如果這個2用的地方很多,以后想要更
改也很麻煩還容易遺漏,所以就需要規(guī)范一下對魔法值的處理。
2、方法一靜態(tài)常量(不推薦)
public final static STATUS_FALSE=0; public final static STATUS_TRUE=1;
直接在類中定義一個常量,這種方法對于魔法值的使用范圍只在一個類的范圍內(nèi)的情況下比較方便,哦,對了。常
量的命名一般都是大寫。
3、方法二接口中定義
public interface UserService{ public final static STATUS_FALSE=0; public final static STATUS_TRUE=1; }
寫在接口中的話好處就是,繼承這個接口的實(shí)現(xiàn)類都可以使用這些常量。
4、方法三定義在實(shí)體類
public class user{ private String name; private Integer status; public final static STATUS_FALSE=0; public final static STATUS_TRUE=1; }
這樣寫是比較推薦的,你可以在任意想用的地方使用類名打點(diǎn)的方式使用這些常量。
如果要寫的常量比較多也可以
直接建一個專門用來存放靜態(tài)常量的類。
5、方法四使用枚舉類enum
枚舉類是一種比較特殊的類想了解的
可以去搜搜我這邊只舉個簡單的使用例子。
public enum CarAssetsEnum { DELETE_FALSEE(0,"已刪除"), DELETE_TRUE(1,"未刪除"); private final Integer value; private final String description; CarAssetsEnum(Integer value,String description{ this.value=value; this.description=description; } public Integer value(){ return this.value; } public String description(){ return this.description; } }
在使用的時候就可以直接這樣使用
user.setStatus(CarAssetsEnum.DELETE_FALSEE.value())
6、總結(jié)
雖然使用魔法值也不會報錯,但是維護(hù)和閱讀成本過高,還是遵循規(guī)范不使用魔法值比較好(部分代碼是手敲的可能格式不太好看,大家就將就一下吧)。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringSecurity根據(jù)自定義異常返回登錄錯誤提示信息(賬戶鎖定)
本文介紹了在SpringSecurity中根據(jù)自定義異常返回登錄錯誤提示信息的方法,特別是在賬戶鎖定時,通過記錄輸錯次數(shù)、重寫校驗方法并拋出自定義異常,感興趣的可以了解一下2025-01-01java實(shí)現(xiàn)字符串和數(shù)字轉(zhuǎn)換工具
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)字符串和數(shù)字轉(zhuǎn)換工具,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04springboot用thymeleaf模板的paginate分頁完整代碼
本文根據(jù)一個簡單的user表為例,展示 springboot集成mybatis,再到前端分頁完整代碼,需要的朋友可以參考下2017-07-07JavaWeb項目web.xml中出現(xiàn)Element xxx is not al
這篇文章主要介紹了JavaWeb項目web.xml中出現(xiàn)Element xxx is not allowed here問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11Spring中byName和byType的區(qū)別及說明
這篇文章主要介紹了Spring中byName和byType的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12使用Mybatis如何實(shí)現(xiàn)多個控制條件查詢
這篇文章主要介紹了使用Mybatis如何實(shí)現(xiàn)多個控制條件查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03