本篇內(nèi)容介紹了“有哪些使用Java的小技巧”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、浦東網(wǎng)站維護(hù)、網(wǎng)站推廣。
使用stream實(shí)現(xiàn)list轉(zhuǎn)map
普通:對于list轉(zhuǎn)map很多時候大家都使用遍歷,然后取出值,放入結(jié)果中,如下
神技:使用stream實(shí)現(xiàn),通過Collectors.groupingBy
stream有很多非常直觀和好用的方法,例如sum,count,distinct等等
減少非空判斷,優(yōu)雅地使用Objects工具
通常操作的時候使用!=null去做判斷,比較不優(yōu)雅
jdk1.7提供了Objects工具,使用直觀方便,很多方法中幫我們做了非空判斷,減少!=null的代碼
隨機(jī)數(shù)可以使用種子,保證隨機(jī)規(guī)律
有時候?yàn)榱吮4嬉粋€固定的值,往往還需要存數(shù)據(jù)庫或者文件,非常麻煩,我們可以通過特定的值,來通過隨機(jī)數(shù)的種子來計(jì)算特定的值。
例如第二個print出來的5次循環(huán)的值,必然相等。只需要保證seed的值固定,隨機(jī)數(shù)算出的值必然固定。
雙大括號語法
很多時候,需要初始化一些list的數(shù)據(jù),如果像下面操作,會顯得繁瑣
神技:使用{{}}語法,如下
注意:很多同學(xué)提到此處有問題,不建議程序大量這樣使用,由于該方法是匿名內(nèi)部類初始化方法,會產(chǎn)生很多xxx$1.class,xxx$2.class……的類,會存在內(nèi)存泄露問題。
特殊場景需要用到的goto
大家都知道java是沒有g(shù)oto語法的,但提供了類似goto語法效果的方法,如下
try-with-resource自動關(guān)閉資源
JVM對外部資源的引用卻無法自動回收,例如數(shù)據(jù)庫連接,網(wǎng)絡(luò)連接以及輸入輸出IO流等,這些連接就需要我們手動去關(guān)閉,不然會導(dǎo)致外部資源泄露,連接池溢出以及文件被異常占用等。
因此在IO操作中,我們常常需要寫如下的代碼,進(jìn)行手動釋放資源
jdk1.7給我們提供了try-with-resource語法,讓我們再也不用在finally中調(diào)用close方法了,jvm自動調(diào)用。
通過MultiValueMap去構(gòu)建Map
如果需要構(gòu)建Map
“有哪些使用Java的小技巧”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!