这段时间一直在捣鼓扫码支付的功能,项目中使用了支付宝扫码支付和微信扫码支付。中间遇到了很多坑,由于我们系统是分别支持这两种方式的,并且可以随时切换支付方式,特此记录一下。
Integer == 和equals -128--127的比较问题
先看一段代码:
public static void main(String[] args) {
Integer a = new Integer(1);
Integer b = new Integer(1);
System.out.println(a==b);
System.out.println(a.equals(b));
a=1;
b=1;
System.out.println(a==b);
a=128;
b=128;
System.out.println(a==b);
}
支付宝扫码支付关闭订单功能实现
前段时间做了支付宝的扫码支付,奈何当时demo中没找到退款API,AlipayTradeService接口里面只有预下单和退款的方法,然后就忙别的事情。
今天查看了一下支付宝的支付API,alipay.trade.close (统一收单交易关闭接口),详细说明:用于交易创建后,用户在一定时间内未进行支付,可调用该接口直接将未付款的交易进行关闭。
JAVA中基本数据类型和引用数据类型特点
特点:
一、从概念方面来说
基本数据类型:变量名指向具体的数值
引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值
JAVA中的值传递和引用传递
先来看一个作为程序员都熟悉的值传递的例子:
... ...
//定义了一个改变参数值的函数
public static void changeValue(int x) {
x = x *2;
}
... ...
//调用该函数
int num = 5;
System.out.println(num);
changeValue(num);
System.out.println(num);
... ...
答案显而易见,调用函数changeValue()前后num的值都没有改变。