上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 45 下一页
摘要: 枚举类可以实现一个或多个接口。与普通类实现接口完全一样,枚举类实现接口时,需要实现该接口所包含的方法。 如果需要每个枚举值在调用同一个方法时呈现不同的行为,则可以让每个枚举值在{...}匿名块中实现自己的业务逻辑。 为了方便测试,示例只定义了A和E两个等级,执行结果如下: 反编译枚举类 在《Java 阅读全文
posted @ 2019-11-09 21:03 楼兰胡杨 阅读(7202) 评论(0) 推荐(0) 编辑
摘要: 需求背景 需求已经确定了几个固定的常量值,并且每个常量值都有相同的行为,但是具体实现细节不同。建议使用枚举抽象方法,优点:结构清晰,便于扩展。 枚举类实现抽象方法 与常规抽象类一样,enum类允许我们为其定义抽象方法,然后使每个枚举实例都实现该方法,以便产生不同的行为方式,注意abstract关键字 阅读全文
posted @ 2019-11-09 20:52 楼兰胡杨 阅读(5166) 评论(0) 推荐(0) 编辑
摘要: 有个是否为零的判断【BigDecimal.ZERO.equals(ratio)】我用了BigDecimal的equals方法,结果,判断失败,因此特地分析一下equals与compareTo的区别。本文参考JAVA_VERSION="1.7.0"。首先看一下BigDecimal的equals方法源码 阅读全文
posted @ 2019-10-20 17:20 楼兰胡杨 阅读(2446) 评论(0) 推荐(0) 编辑
摘要: 介绍合并多个list并删除其中重复元素的方法,推荐使用Map或者TreeSet去重。 阅读全文
posted @ 2019-10-20 17:15 楼兰胡杨 阅读(25183) 评论(0) 推荐(0) 编辑
摘要: 介绍如何去掉BigDecimal类型变量小数点后多余的零。 阅读全文
posted @ 2019-10-20 17:04 楼兰胡杨 阅读(11333) 评论(0) 推荐(0) 编辑
摘要: IFNULL() 函数 IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。 IFNULL() 函数语法格式为: 如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值。 参数说明 阅读全文
posted @ 2019-10-20 16:56 楼兰胡杨 阅读(2922) 评论(1) 推荐(1) 编辑
摘要: 循环小数输出的坑 BigDecimal做除法时如果出现除不尽(循环小数)的情况,会抛异常: BigDecimal a = new BigDecimal("1"); System.out.println(a.divide(new BigDecimal(3))); 异常如下: Exception in 阅读全文
posted @ 2019-10-20 09:40 楼兰胡杨 阅读(3992) 评论(0) 推荐(0) 编辑
摘要: 一、前言 在日常业务开发中经常有这样一个场景,首先创建一条记录,然后插入到数据库,如果数据库已经存在同一主键的记录,执行update操作;否则,执行insert操作。这个操作可以在业务层做,也可以在数据库层面做。业务层一般做法是先查询,如果不存在就插入,如果存在就更新;但是查询和插入不是原子性操作, 阅读全文
posted @ 2019-10-20 09:31 楼兰胡杨 阅读(5270) 评论(0) 推荐(0) 编辑
摘要: 本文介绍Java中,有状态和无状态对象的区别。 阅读全文
posted @ 2019-10-13 11:00 楼兰胡杨 阅读(3594) 评论(0) 推荐(0) 编辑
摘要: 如何优雅地删除Redis set集合中前缀相同的key? Redis中有删除单条数据的命令DEL,却没有批量删除特定前缀key的指令,但我们经常遇到需要根据前缀来删除的业务场景,那么究竟该怎么做呢?可能你一通搜索后会得到下边的答案: redis-cli --raw keys "prefix-*" | 阅读全文
posted @ 2019-10-13 10:47 楼兰胡杨 阅读(10131) 评论(0) 推荐(0) 编辑
上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 45 下一页