java jsonarray转list_Java当中的一些奇技淫巧

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

使用stream实现list转map

普通:对于list转map很多时候大家都使用遍历,然后取出值,放入结果中,如下

7e1eb2df33d19320025304564481c90e.png

神技:使用stream实现,通过Collectors.groupingBy

2d95c1cbb25def32154a940c72da906c.png

stream有很多非常直观和好用的方法,例如sum,count,distinct等等

减少非空判断,优雅地使用Objects工具

通常操作的时候使用!=null去做判断,比较不优雅

07540b4a411758d9607a6fe6004c4684.png

jdk1.7提供了Objects工具,使用直观方便,很多方法中帮我们做了非空判断,减少!=null的代码

13a3d7014c5f47ea65d33c3f67179136.png

随机数可以使用种子,保证随机规律

有时候为了保存一个固定的值,往往还需要存数据库或者文件,非常麻烦,我们可以通过特定的值,来通过随机数的种子来计算特定的值。

761827edcd8e5c7e402b9ea4e3227b87.png

例如第二个print出来的5次循环的值,必然相等。只需要保证seed的值固定,随机数算出的值必然固定。

双大括号语法

很多时候,需要初始化一些list的数据,如果像下面操作,会显得繁琐

6224ce0726e5c39b9b1cd6aeb88371d5.png

神技:使用{{}}语法,如下

c7584db2e1fc9b81fecf2576b691daa4.png

特殊场景需要用到的goto

大家都知道java是没有goto语法的,但提供了类似goto语法效果的方法,如下

60f28a73ebf06eb3cc7aae0d2dc2a21e.png

try-with-resource自动关闭资源

JVM对外部资源的引用却无法自动回收,例如数据库连接,网络连接以及输入输出IO流等,这些连接就需要我们手动去关闭,不然会导致外部资源泄露,连接池溢出以及文件被异常占用等。

因此在IO操作中,我们常常需要写如下的代码,进行手动释放资源

57dd32e330e7f4ead25849608eb28f31.png

jdk1.7给我们提供了try-with-resource语法,让我们再也不用在finally中调用close方法了,jvm自动调用。

c1d146177b1a9e06ae9494b6d03f9c8d.png

通过MultiValueMap去构建Map结构

如果需要构建Map结构,推荐使用MultiValueMap去操作

8c5815268a74ca9428bca2d500cbe874.png

如果还有其他比较好的写法,欢迎大家留言、私信,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值