色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

java 中常量的定義方式。

瀏覽:167日期:2023-11-12 17:23:56

問題描述

public class EnumDome { public static final String SUCCESS = 'Y'; public static final String FAIL = 'N'; enum State{SUCCESS('Y'),FAIL('N');private final String state;State(String state){ this.state = state;}public String getState(){ return state;} }}

這兩種定義常量的方式各有什么特點(diǎn)?在使用過程中更推薦使用何種方式?

問題解答

回答1:

這個(gè)問題,從語法層面上來說,沒有什么懸念。百度一下常量和枚舉的區(qū)別就好了。

但是從設(shè)計(jì)角度上來說,'enum' 要優(yōu)于 'static final' 的。

這么說可能比較抽象,我舉個(gè)例子:比如我定義了一個(gè)公有函數(shù)(更準(zhǔn)確的說是公有方法)叫 setResponseState

一種是這樣定義的:setResponseState(String state) { ... },使用字符串作參數(shù)。

一種是這樣定義的:setResponseState(EnumDemo.State state) { ... },使用枚舉作參數(shù)。

對于第一種定義,正確的調(diào)用方式是:setResponseState(EnumDemo.SUCCESS);

但是如果這么調(diào)用:setResponseState('abcd'); 是不是在 JAVA 語言的語法上也沒有問題呢?

編譯器走到這里還是可以通過的……但在運(yùn)行期可能會導(dǎo)致嚴(yán)重的錯(cuò)誤,降低系統(tǒng)的可靠性。

這里的最大問題就是 '函數(shù)參數(shù)不夠明確',這會給使用這個(gè)方法的開發(fā)人員造成困擾。他不得不去回查我的源碼,才能最終確定到底要傳一個(gè)什么樣的參數(shù)給我……

而再假如,這個(gè)函數(shù)(方法)被我封裝到一套框架代碼中,不提供源碼,那么開發(fā)人員回查起來就更困難了。這會降低開發(fā)效率。

而使用 setResponseState(EnumDemo.State state) { ... } 這樣的定義方式,是非常明確的。要么是 SUCCESS,要么是 FAIL,再要么是 null。

開發(fā)人員調(diào)用這個(gè)函數(shù)(方法)幾乎不會出錯(cuò),也根本無需回查源碼。

所以比較嚴(yán)謹(jǐn)?shù)淖龇ㄊ鞘褂妹杜e。當(dāng)然這是在定義公共函數(shù)(方法)的時(shí)候。

而如果 setResponseState 是一個(gè)私有函數(shù)(方法),那么可以稍微隨意一些,使用字符串參數(shù)也是可以的。必定這種 '不嚴(yán)謹(jǐn)' 只暴露給內(nèi)部。

形象一點(diǎn)的,就是對外我們要顯得非常專業(yè),而對內(nèi),可以稍微降低一下標(biāo)準(zhǔn)。

這是常量和枚舉的兩個(gè)不同應(yīng)用場景,希望對你有所幫助……

回答2:

簡單的說:只有 static final 是定義常量的方法。 后面那個(gè)不是,不過功能上是相似的。具體用那個(gè)還是取決于你的需求

深入地說:貼地址:

Java 語言中 Enum 類型的使用介紹Java枚舉類型(enum)簡介

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 亚洲精品第五页中文字幕 | 欧美一级成人免费大片 | 日韩高清成人毛片不卡 | 亚洲综合网在线观看首页 | 99久久久精品免费观看国产 | 国产午夜精品理论片久久影视 | 欧美久在线观看在线观看 | 男人的天堂网在线 | 男女男精品视频网站在线观看 | 黄色作爱 | 2020夜夜操| 久久综合丁香 | 国产色在线观看 | 欧美一级毛片一免费 | 自拍偷自拍亚洲精品一区 | 亚洲精品国产综合久久一线 | a级男女性高爱潮高清试 | 亚洲福利视频一区二区三区 | 大片国产片日本观看免费视频 | 成人18免费网站 | 精品国产品香蕉在线观看 | 亚洲精品人成网线在线 | 国产波多野结衣中文在线播放 | www.久草视频| 手机看a | 台湾三级毛片 | 色综合久久88色综合天天小说 | mm在线精品视频 | 亚洲在线免费视频 | 欧美毛片性视频区 | 中文字幕亚洲区 | 欧美高清在线视频一区二区 | 中文字幕亚洲另类天堂 | 激情午夜天| 一级毛片在线视频 | 福利片成人午夜在线 | 精品成人在线 | 久久久久久久免费视频 | 欧美日韩久久 | 欧美一级毛片免费播放器 | 亚洲你我色 |