工作中容易出错点总结

1、BigDecimal转Double类型 

new bigdecimal(double d) 会导致精度不准确,new bigdecimal(doubble+"")或bigdecimal.valueof(double)可解决精度不准确的问题。如:

BigDecimal aa = new BigDecimal(12.12);
BigDecimal bb = new BigDecimal(14.02);
double ss = aa.doubleValue();
double dd = bb.doubleValue();
double mm = ss+dd;
BigDecimal vv1 = new BigDecimal(mm);
BigDecimal vv2 =new BigDecimal(mm+"");
BigDecimal vv3 =BigDecimal.valueOf(mm);
System.out.println("mm="+mm);
System.out.println("vv1="+vv1);
System.out.println("vv3="+vv3);
System.out.println("vv2="+vv2);

运行的结果为:

mm=26.14
vv1=26.1400000000000005684341886080801486968994140625
vv3=26.14
vv2=26.14

2、hibernate的查询返回自定义VO

在使用hibernate操作数据库的时候,有的时候需要返回bean类型为自定义的vo,那么这个时候如何能够正确的转化呢?那就可以使用下面的代码进行转化:

Query setResultTransformer = session.createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(UserAccountInfoVo.class));
List<UserAccountInfoVo> UserAccountInfoList = setResultTransformer.list();

3、eclipse在debug下出现断点跳跃执行

出现上述的问题原因:源代码和class文件没有一一对应。

解决方法如下:

清理项目里面的class文件进行重新编译, 鼠标点击项目名称上,然后点击工具栏上“project” --"Clean",即可解决问题。

4、在配置固定的ip的时候,保存提示:出现了一个意外的情况 不能完成所有你在设置中所要求的更改

出现上述的问题原因不详,但是有以下的解决方法供大家参考:

需要使用dos命令去设置固定的IP和默认网关及其dns,我将其dos命令包装为了.cmd的批处理文件,代码如下:

netsh interface ip set address name="WLAN" source=static addr=192.168.12.164 mask=255.255.255.0 gateway=192.168.12.1
netsh interface ip set dns name="WLAN" source=static addr=192.168.12.1
pause

如果想恢复自动获取ip的话,那么可以执行如下的.cmd的批处理文件:

netsh interface ip set address name="WLAN" source=dhcp
netsh interface ip set dns name="WLAN" source=dhcp
pause

5、BeanFactory not initialized or already closed - call 'refresh' before access

针对出现上述的异常信息,在网上有一堆的说法。比如:class文件或者resource文件没有参与编译到指定的文件夹,或者是文件xml没有编写正确等。其实出现上述的问题很少,我在开发的时候出现了上述的情况,原因是:在项目的build path里面可以看到jar包缺失报错。如果这个jar包是自己需要的,那么重新导入该jar包,如果不是,那么就直接删除,然后重新启动服务器就好。

6、 Exception in thread "main" java.lang.NoSuchMethodError:org.apache.poi.util.POILogger.log(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)

出现上述的问题首先做以下的事情:1、确认poi相关的jar包已经导入,且没有丢失。

如果上述的问题都确认没有问题了,那么就看poi的相关jar包的版本是不是一致的,上述的问题的最大的可能性就是jar包的版本不一致导致的,这个时候只需要将相关的jar包确定版本一致就好了。

7、在支付完成后,比如是免费支付后跳转到一个页面。这个时候是不能使用请求转发的,如果是请求转发会出现刷新会重新调用上次的请求,造成再次支付的问题。因此这个时候需要使用重定向到一个路径,代码如下:

return new ModelAndView("redirect:" + ConfigUtil.WEIXIN_INDEX + "aa/bb");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值