亚洲天堂一级片-亚洲天堂三区-亚洲天堂久久精品成人-亚洲天堂毛片-久久国产欧美日韩高清专区-久久国产欧美日韩精品免费

你應(yīng)該更新的Java知識(shí)之常用程序庫(kù)(一)

在很多人眼中,Java已經(jīng)是一門(mén)垂垂老矣的語(yǔ)言,但并不妨礙Java世界依然在前進(jìn)。如果你曾離開(kāi)Java,云游于其它世界,或是每日只在遺留代碼中掙扎,或許是時(shí)候抬起頭,看看老Java中的新東西。

Guava

一句話,只要你做Java項(xiàng)目,就應(yīng)該用Guava

guavaGoogle出品的一套Java核心庫(kù),在我看來(lái),它甚至應(yīng)該是JDK的一部分。作為一個(gè)Java程序員,如果你沒(méi)抱怨過(guò)JDK的設(shè)計(jì),只能說(shuō)明一點(diǎn),你寫(xiě)得程序還是太少。正是JDK設(shè)計(jì)不彰,才有了一些項(xiàng)目來(lái)補(bǔ)充JDK的不足。如果說(shuō)老Java程序員應(yīng)該聽(tīng)說(shuō)過(guò)Apache Commons Lang,那新Java程序員該知道的就是Guava了。

Java程序員更多的是知道Google Collections,不妨到它的主頁(yè)上走一遭,你會(huì)看到這個(gè)庫(kù)已經(jīng)改名為Guava。事實(shí)上,Guava并不直接等于Google CollectionsGuava是一個(gè)超集。Guava實(shí)在太強(qiáng)大了,要想展現(xiàn)它的強(qiáng)大,需要專門(mén)的介紹,這里就不展開(kāi)了。

下面以一個(gè)統(tǒng)計(jì)單詞出現(xiàn)個(gè)數(shù)的小程序作為這個(gè)段落的結(jié)尾,雖然無(wú)法與許多其它語(yǔ)言的實(shí)現(xiàn)相提并論,但作為一個(gè)Java程序員,你不妨想一下按照傳統(tǒng)方式,這段代碼應(yīng)該是什么樣子。

String content = Files.toString(new File(args[0]), Charset.defaultCharset());

Iterable texts = Splitter.on(CharMatcher.WHITESPACE)

.omitEmptyStrings()

.trimResults()

.split(content);

Multiset collection = HashMultiset.create(texts);

Joda Time

你覺(jué)得一個(gè)API設(shè)計(jì)得差到什么份上,才會(huì)把自己差不多的API全部Deprecated掉。java.util.Date便是這樣的奇葩。因?yàn)樗?/SPAN>API幾乎都是反直覺(jué)的,幾乎所有敢于用它的Java程序員都吃過(guò)它的虧。想初始化個(gè)2013年的第一天,還真不那么容易:

Date firstDayOf2013 = new Date(113, 0, 1);

如果你是個(gè)Java新手,你能猜出113是從哪來(lái)的嗎?(好吧,它是2013-1900,至于為什么是1900,這真得問(wèn)API的設(shè)計(jì)者了)。

Joda Time就是人們實(shí)在無(wú)法忍受這樣?xùn)|西的產(chǎn)物。同樣的代碼用Joda Time實(shí)現(xiàn):

DateTime firstDayOf2013 = new DateTime().withDate(2013, 1, 1);

無(wú)論如何,你知道這能看出這些參數(shù)的含義了。不只如此,你還可以計(jì)算兩天后是什么日子:

firstDate.plusDays(2);

日期格式化,也是JDK Date系列API里一大特色,你必須把代碼寫(xiě)成下面這樣:

new SimpleDateFormat("yyyy.MM.dd").format(firstDayOf2013)

作為一個(gè)初始化很慢的構(gòu)造函數(shù),你還必須每次調(diào)用,因?yàn)樗皇蔷程安全的。同樣的代碼,在Joda Time里,我們可以用DateTimeFormatter

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy.MM.dd");

...

formatter.print(dateTime);

請(qǐng)盡管放心大膽把formatter聲明成一個(gè)字段,因?yàn)樗蔷程安全的。

當(dāng)然,Joda Time的強(qiáng)大遠(yuǎn)不止于此。當(dāng)然,JDK也并不是那么完全的自暴自棄,于是,有了一個(gè)JSR 310專門(mén)設(shè)計(jì)新的Date APIJSR 310spec leadSteven Colebourne,此人正是Joda Time的作者。

北大青鳥(niǎo)網(wǎng)上報(bào)名
北大青鳥(niǎo)招生簡(jiǎn)章
主站蜘蛛池模板: 一级免费看片 | 网禁呦萝资源网站在线观看 | 国产男女乱淫真视频全程播放 | 亚洲欧美精品久久 | 成人三级做爰在线观看男女 | 精品视频 久久久 | 国产中文字幕在线观看 | 亚洲涩涩精品专区 | 免费欧洲毛片a级视频无风险 | 18在线观看国内精品视频 | 成人区精品一区二区毛片不卡 | 韩国特级毛片 | 天天看夜夜 | 成人欧美一区二区三区视频 | 手机看片1024欧美日韩你懂的 | 久久不见久久见免费影院 | 一级毛片免费在线观看网站 | 好湿好紧好痛a级是免费视频 | 91精品国产色综合久久 | 国产一区高清 | 国产亚洲精品国产一区 | 国产在线观看一区二区三区四区 | 久久国产精品久久久久久久久久 | 欧美特黄三级成人 | 国产午夜精品不卡视频 | 特级a毛片| 美女131爽爽爽做爰中文视频 | 亚洲人免费视频 | 国产成人啪精品视频免费网 | 亚洲精品一区最新 | 在线日本看片免费人成视久网 | 欧美精品一区二区在线观看播放 | 国产区一区 | 一区二区三区网站在线免费线观看 | 91福利精品老师国产自产在线 | 免看一级a毛片一片成人不卡 | 永久毛片 | 国产精品久久久久久久久久一区 | 欧美无玛 | 美女舒服好紧太爽了视频 | 黄色网址进入 |