日本粉色视频-日本理论片中文在线观看2828-日本理论在线观看被窝网-日本黄大片在线观看-国产精品福利在线观看秒播-国产精品福利资源在线

你應(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 Collections,Guava是一個(gè)超集。Guava實(shí)在太強(qiáng)大了,要想展現(xiàn)它的強(qiáng)大,需要專(zhuān)門(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專(zhuān)門(mén)設(shè)計(jì)新的Date API。JSR 310spec leadSteven Colebourne,此人正是Joda Time的作者。

北大青鳥(niǎo)網(wǎng)上報(bào)名
北大青鳥(niǎo)招生簡(jiǎn)章
主站蜘蛛池模板: 国产国语一级毛片全部 | 在线a网站| 久久久这里只有精品免费 | 午夜神马视频 | 精品久久久久久久 | 久久久久久毛片免费播放 | 国内xxxx乱子另类 | 日本加勒比视频在线观看 | 一本久道久久综合婷婷五 | 在线国产欧美 | 亚洲视频中文字幕在线 | 久久91在线 | 日韩精品特黄毛片免费看 | 亚洲精品在线网 | 国产成版人视频网站免费下 | 色噜噜狠狠大色综合 | 欧美一级毛片免费播放aa | 国产成人精品s8p视频 | 国产成人久久精品一区二区三区 | 亚洲视频精选 | 国产精品手机在线亚洲 | 午夜爽爽爽男女免费观看hd | 久久综合精品国产一区二区三区 | 亚洲第一男人天堂 | 免费视频一区二区 | 成人性动漫高清免费观看网址 | 国产国产成人精品久久 | 日本亚洲欧美在线 | 欧美九九视频 | 日本vs欧美一区二区三区 | 欧美一级毛片在线一看 | 国产高清在线精品一区 | 国产手机在线小视频免费观看 | 欧美在线观看www | 牛人盗摄一区二区三区视频 | 成人三级做爰在线观看男女 | 国产日韩一区二区三区在线播放 | 国产免费久久精品 | 国产经典一区 | 精品一区二区在线欧美日韩 | 亚洲国产一成人久久精品 |