聊聊Java当中的一些小技巧

开发 后端
很多时候,为了方便完成某些功能,大家是挖空心思地去使用一些技巧,让我们的代码更直白美观,下面为大家分享几个Java当中的技巧。

[[353934]]

 很多时候,为了方便完成某些功能,大家是挖空心思地去使用一些技巧,让我们的代码更直白美观,下面为大家分享几个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

 

 

 

责任编辑:姜华 来源: 今日头条
相关推荐

2015-08-27 11:16:14

ios开发技巧

2011-03-31 14:16:54

Cacti技巧

2013-04-09 11:26:55

WindowsPhon

2021-12-25 15:30:03

GNOME桌面应用

2021-06-18 07:35:46

Java接口应用

2016-05-13 17:24:00

java大数据

2017-02-28 10:54:40

Pandas

2009-04-29 23:04:44

破解还原卡还原精灵

2021-10-12 23:10:58

UnsafeJavaJDK

2021-11-11 15:24:24

手机电池充电

2020-05-22 13:32:24

可视化词云图数据

2011-06-01 16:50:21

JAVA

2013-03-29 09:49:06

Android开发小功能实现

2010-05-18 10:47:52

2010-05-26 17:40:14

MySQL数据库

2020-10-08 18:56:17

Node.js命令行

2009-09-17 16:41:12

C#组件编程

2021-06-08 06:13:16

React开发开发技术

2020-10-28 10:36:42

分离数据库性能

2010-06-04 16:26:02

点赞
收藏

51CTO技术栈公众号