日韩不卡免费视频-日韩不卡视频在线-日韩不卡视频在线观看-日韩不卡一二三区-伊人二区-伊人丁香花久久爱综合

你應(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)章
主站蜘蛛池模板: 国产三级精品91三级在专区 | 欧美特级一级毛片 | 最近免费手机中文字幕3 | 最近手机中文字幕1 | 欧美三级 欧美一级 | 九九热播视频 | 日韩欧免费一区二区三区 | 窝窝午夜看片七次郎青草视频 | 亚洲人成片在线观看 | 老司机午夜性生免费福利 | ffyybb免费福利视频 | 香蕉久久夜色精品国产尤物 | 中国黄色一级大片 | 亚洲精品一区二区在线播放 | 99在线国产| 欧美特级毛片aaaa | 岬奈一区二区中文字幕 | 午夜精品久视频在线观看 | 国产欧美久久久精品 | 99精品高清视频一区二区 | 中文字幕日韩一区二区不卡 | 久久久久久日本一区99 | 欧美精品亚洲一区二区在线播放 | 国产在线综合视频 | 国产东北色老头老太性视频 | 欧美日韩精品一区二区三区视频播放 | 久久99国产一区二区三区 | 欧美一级特黄乱妇高清视频 | 国产日韩欧美精品在线 | 成人午夜大片免费7777 | 国产精品久久久久久久久久免费 | 亚洲国产成人精品激情 | 办公室紧身裙丝袜av在线 | 97青青草原国产免费观看 | 久久久亚洲天堂 | 国产福利微拍精品一区二区 | 91久色视频| 久久影院一区二区三区 | 欧美日韩国产高清一区二区三区 | 国产成人午夜福在线观看 | 国产成人精品一区二区秒拍 |