JAVA中使用雙括號(hào)來(lái)初始化靜態(tài)常量的小技巧
這貌似是個(gè)不為人知的語(yǔ)言技巧。我看到一般人寫(xiě)Java里初始化靜態(tài)常量都是
public static final Map<String, String> DATA = new TreeMap<String, String>();
static
{
DATA.put("a", "A");
//blah blah blah
}
使用所在類(lèi)的static塊來(lái)初始化DATA,其實(shí)還有另外一種寫(xiě)法:
public static final Map<String, String> DATA = new TreeMap<String, String>()
{{
this.put("a", "A");
//blah blah blah
}};
這實(shí)際上是利用了匿名類(lèi)的特性,內(nèi)層的{是用來(lái)作匿名子類(lèi)的構(gòu)造函數(shù),所以可以直接插入初始化代碼,這個(gè)小語(yǔ)言技巧不常見(jiàn),但是比較實(shí)用。
相關(guān)文章
Java的MyBatis快速入門(mén)和實(shí)戰(zhàn)詳解
這篇文章主要介紹了Java的MyBatis快速入門(mén)和實(shí)戰(zhàn)詳解,MyBatis是一款優(yōu)秀的持久層框架,用于簡(jiǎn)化JDBC開(kāi)發(fā),是一套可重用的,通用的,軟件基礎(chǔ)代碼模型,需要的朋友可以參考下2023-05-05IDEA全量替換一次性解決舊項(xiàng)目并將所有文件換行符改為L(zhǎng)F問(wèn)題
這篇文章主要介紹了IDEA全量替換一次性解決舊項(xiàng)目并將所有文件換行符改為L(zhǎng)F問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下2019-05-05Java如何生成4位、6位隨機(jī)數(shù)短信驗(yàn)證碼(高效實(shí)現(xiàn))
這篇文章主要介紹了Java如何生成4位、6位隨機(jī)數(shù)短信驗(yàn)證碼(高效實(shí)現(xiàn)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12Java數(shù)據(jù)結(jié)構(gòu)常見(jiàn)幾大排序梳理
Java常見(jiàn)的排序算法有:直接插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序等。本文詳解介紹它們的實(shí)現(xiàn)以及圖解,需要的可以參考一下2022-03-03