Java API使用避坑合集
# Java API使用避坑合集
# 总结常见的容易踩坑点记录下来以供参考
相当于避坑大杂烩、会涉及各种坑,持续更新...
# 1、数组转集合 Arrays.asList() 方法
Arrays.asList() 方法 返回的集合不支持修改操作,否则会抛异常
java.lang.UnsupportedOperationException
# 2、BigDecimal 数据的比较 请使用compareTo方法
- A.compareTo(B) 结果等于0 表示 A=B ,结果>0 表示 A>B, 结果小于0 表示A<B;
 - 如果使用equals 那么会连同小数位数一块比较 0.0和0 使用equals比较 返回false ,因为0.0有一位小数 而0没有。
 
 public static void main(String[] args) {
        BigDecimal bigDecimal = new BigDecimal("0");
        BigDecimal bigDecimal1 = new BigDecimal("0.0");
        System.out.println(bigDecimal.equals(bigDecimal1)); // false
        System.out.println(bigDecimal.compareTo(bigDecimal1)==0); // true
    }
# 3、spring clould 注册指定网段的IP地址 到服务中心
添加以下配置 10.211.为需要指定的网段
spring.cloud.inetutils.preferred-networks=10.211.
# 4、在Mybatis的 <if> 标签中 判断 BigDecimal 类型或者 Date类型 字段
如果用了 !='' 不等于空串 判断 BigDecimal类型字段 , mybatis会自动把BigDecimal类型转为String,并且如果你的BigDecimal 字段值是0 就会被mybatis转为 null,巨坑无比;
如果用了 !='' 不等于空串 判断 Date会直接报错 。
<-- 错误示例  !-->
 <if test="bigDecimalNum !=null and bigDecimalNum !=''"> 
 
 </if> 
 <if test="startDate !=null and startDate !=''"> 
 
 </if> 
<-- 正确示例  !-->
 <if test="bigDecimalNum !=null"> 
 
 </if> 
 <if test="startDate !=null"> 
 
 </if>