您好,登錄后才能下訂單哦!
本篇內容介紹了“有哪些使用Java的小技巧”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
使用stream實現list轉map
普通:對于list轉map很多時候大家都使用遍歷,然后取出值,放入結果中,如下
神技:使用stream實現,通過Collectors.groupingBy
stream有很多非常直觀和好用的方法,例如sum,count,distinct等等
減少非空判斷,優雅地使用Objects工具
通常操作的時候使用!=null去做判斷,比較不優雅
jdk1.7提供了Objects工具,使用直觀方便,很多方法中幫我們做了非空判斷,減少!=null的代碼
隨機數可以使用種子,保證隨機規律
有時候為了保存一個固定的值,往往還需要存數據庫或者文件,非常麻煩,我們可以通過特定的值,來通過隨機數的種子來計算特定的值。
例如第二個print出來的5次循環的值,必然相等。只需要保證seed的值固定,隨機數算出的值必然固定。
雙大括號語法
很多時候,需要初始化一些list的數據,如果像下面操作,會顯得繁瑣
神技:使用{{}}語法,如下
注意:很多同學提到此處有問題,不建議程序大量這樣使用,由于該方法是匿名內部類初始化方法,會產生很多xxx$1.class,xxx$2.class……的類,會存在內存泄露問題。
特殊場景需要用到的goto
大家都知道java是沒有goto語法的,但提供了類似goto語法效果的方法,如下
try-with-resource自動關閉資源
JVM對外部資源的引用卻無法自動回收,例如數據庫連接,網絡連接以及輸入輸出IO流等,這些連接就需要我們手動去關閉,不然會導致外部資源泄露,連接池溢出以及文件被異常占用等。
因此在IO操作中,我們常常需要寫如下的代碼,進行手動釋放資源
jdk1.7給我們提供了try-with-resource語法,讓我們再也不用在finally中調用close方法了,jvm自動調用。
通過MultiValueMap去構建Map
如果需要構建Map
“有哪些使用Java的小技巧”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。