
JDK8的几个方便快捷小知识
阿粉相信,JDK8 现在已经是非常普及的了,现在几乎百分之七十以上的公司都已经在使用了,虽然大部分的公司都换上了 JDK8 但是对于编码习惯来说,依然能够看到很多属于可以优化的代码,毕竟使用JDK8 进行编码的话,会让自己的代码看起来很优雅。阿粉今天就来看看一些 JDK7 和 JDK8 中的一些可以"优化"的代码。
JDK8 的 fro 循环
既然要说for循环,那么没有对比就没有伤害,我们来对比一下使用 JDK7 的 for 循环和使用 JDK8 的 for 循环。
获取List中所有人员的ID
获取值之前我们先给原始的 List 进行赋值,
一会我们直接调用就可以了,User对象很简单:
JDK7获取List中的Id数据:
JDK8 获取Id数据
这个时候就有的人会说,这算啥,就这点代码?
获取List数据中年龄大于等于21的人
传统做法,不用想,直接遍历,遍历之后,判断一下年龄是否是大于21,然后加入到新的对象中。这想法没错,那么我们来试试。
结果是对的,能准确筛选出我们要的数据
JDK8 怎么实现?那就是filter,代码来看看:
我们看看数据
这个筛选,那是非常的方便,虽然内部还是循环,但是至少让我们在写代码的时候,把写循环这一块的内容直接给省略掉了,不用再继续的去自己去写循环,是不是就很便利的给自己省下了一大堆的时间。
接下来我们再给User里面放一个运维部的数据
这时候,我们没从数据库端进行数据的分组,可能有时候同一个接口要给很多服务去调用,但是我们又不能为了因为数据格式要求不一致,就重新在写一段相同的逻辑代码,只能说是根据某些参数的不同,处理一下返回值,这时候就用到另外测操作了。
按照部门返回不同部门下的人员的数据
如果我们要用SQL,那很简单,根据部门分组,如果要是在代码里面呢?就用我们最简单的User来进行分组。
JDK8 直接简单方便
我们看看返回的数据:
直接分组好了展示我们想要的数据。那如果要使用JDK7 处理这种分组的情况,应该怎么处理呢?
是不是第一步要先考虑出循环出这个List里面都有哪些不同的部门,然后进行分组?
就这样,我想想都觉得头疼。要是能数据库操作,那直接数据库分组一下不就完事了,但是总是会有特殊情况需要我们去考虑的。所以,学会了绝对不吃亏。
阿粉今天说的这些简单快捷的小知识,你会用了么?
