java开发中的那些坑^-^(持续更新)

本着分享和吐槽的原则,我打算将我遇到的坑在这儿记录一下,然后列一下经过,一方面是提醒自己,另外一方面也算是分享一下,然后是吐槽、娱乐一下。

(1)在app中使用支付宝支付,提交的金额只能精确到小数点后两位。

     我们的APP中有打折券,有时候会将金额计算成比如2.412这样的值,结果发现支付不了,支付宝根本就不认,直接提示参数错误,我先是翻我们的日志,异常全部拦截,只返回结果,没招了,去问金服技术客服,问的过程中我也感觉到可能是这个问题,毕竟写过微信支付嘛,哈哈哈,然后客服就确认了,哎,系统中所有涉及到金额的只能将小数点第三位给抹了,钱啊。。。。。

(2)在app中使用支付宝支付,支付宝回调接口时返回参数问题。

     支付宝回调时,不能直接返回字符串"success",因为支付宝收到的是待双引号的success,哈哈哈,又是一个大坑,这种问题不能直接增加一个判断给过滤掉,万一支付宝那边始终没有收到我们的正常反馈,再退钱了我们就傻眼了嘛,经过修改后,demo如下,供大家参考。我们后端服务使用的是springboot,如下写法后,接口将直接返回success。

  @ApiOperation(value = "test1", notes = "test1")
   	@PostMapping("/test1")
   	public void test1(HttpServletRequest request,HttpServletResponse resp) {
    	printData("success",resp);
   	}

   private void printData(String data,HttpServletResponse resp) {
		PrintWriter out;
		try {
			out = resp.getWriter();
			out.print(data);
			out.flush();
	        out.close();
	        out = null;
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

(3)增强for循环的坑。。。,要不要看看呢,来吧   

   下边这段代码猛的一看没啥问题吧,测试一下也没问题,如果这个时候你就放过去了,那你就惨了,因为会出现空指针,所以在使用增强for循环时必须在外边加一个判断是否为空。

 for(javaBean javabean : listBean){
    if(javabean.variable.isEmpty()){
       break;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@lehao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值