这篇文章主要是记录日常开发中的一些代码片段,寻找是否有更简洁的写法,仅供参考。
1 比较两个数的大小
场景举例:比较两款竞品的订单下单总数,得出较大的那个数。
一般写法,用 if 判断:
1 | if (number1 > number2) { |
简洁写法,用已经封装好的方法:
1 | return Math.max(number1, number2); |
2 找出集合中的最大值
场景举例:在一个订单系统中,获取一个月内最大的日下单量。
一般写法,for 循环加上 if 判断:
1 | List<Integer> listNumber = getDayCountList(); |
简洁写法:
1 | List<Integer> listNumber = getDayCountList(); |
3 判断集合是否为空
一般写法:
1 | List<Integer> listNumber = getDayCountList(); |
简洁写法:
1 | List<Integer> listNumber = getDayCountList(); |
4 打印出数组中所有的值
一般写法:
1 | int[] intArray = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}; |
简洁写法:
1 | int[] intArray = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}; |
5 转换时间格式
一般写法,对时间的格式进行转换后,再覆盖原值:
1 | List<Map<String, Object>> listData = getListByTime(); |
简洁写法,从 SQL 语句入手,在查询时就将时间格式转换:
1 | SELECT DATE_FORMAT(createdTime, '%Y-%m-%dT%T') AS createdTime FROM tb_user |
6 筛选集合里的数据
一般写法,用 for 循环:
1 | List<User> listUser = getUserList(); |
简洁写法,用 stream 流:
1 | List<User> listUser = getUserList(); |
7 对集合里的数据去重
一般写法,用 for 循环:
1 | List<String> listData = getDataList(); |
简洁写法,用 stream 流:
1 | List<String> listData = getDataList(); |
8 复制 Map 数据并新增元素
场景举例:原先的 Map 数据在其他的业务中还有用到,不能直接更改。
一般写法:
1 | Map<String, Object> originMap = getMapData(); |
简洁写法:
1 | Map<String, Object> originMap = getMapData(); |
参考文章:头铁