JAVA基础
daizuojian
这个作者很懒,什么都没留下…
展开
-
Java超大函数代码重构案例分析——使用反射、函数式接口Function、建造者模式Builder重构
这里存在的问题,eto这个方法名太随意,不能准确表达方法意思,同时由于entity字段较多,需要将其中29个字段转换,直接new对象,虽然很好理解,但是不够优雅,造成超大函数,进行了第一次重构。项目中某一个函数被代码检查工具扫出来137行,属于超大函数(大于50行的函数),经过两次重构达到自己认为的理想状态,使用到了反射,函数式接口,以及建造者模式来完成。下面案例介绍,涉及项目代码,部分简化,仅供给大家参考思想,如有更好的重构方法,欢迎留言。原创 2023-03-04 22:14:56 · 494 阅读 · 0 评论 -
目前我在用的ipv4地址和ipv6地址的正则表达式
IPV4:^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$ IPV6标准:?:[0-9a-fA-F]{1,4}😃{7}[0-9a-fA-F]{1,4}$ IPV6压缩:^((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}))?):😦(?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}))?)$ IPV6标准和压缩,简单合起来:(^(?:[0-9a原创 2022-02-23 15:02:01 · 1601 阅读 · 0 评论 -
java反射获取get/set方法
public class ReflectUtils { private ReflectUtils(){} /** * java反射bean的get方法 * * @param objectClass objectClass * @param fieldName fieldName * @return Method * @throws RuntimeException */ public static Method原创 2021-11-05 09:48:20 · 6386 阅读 · 0 评论 -
Java通过Mysql数据库实现指定格式序列,实现业务编号每天重新从00001开始
做新系统开始,业务要求实现编号每天重置为1,例如:今天是2020年6月15日,贷款合同的编号需要为2020DKHT00001,2020DKHT00002。。依次递增,第二天再重新从1开始,即2020061600001,2020061600002。。 同事写好了,我直接给搬运过来,供大家做个参考。 数据库表结构如下图所示 //序列实体 public class SequenceEntity { //序列名称 private String seqName; /...原创 2020-06-15 15:29:03 · 2587 阅读 · 2 评论