学习笔记

一、复制数组的三种方式:

1.“=”,复制的数组会跟被复制的数组指向同一个地址,改变任意数组的值,另外一个数组的值也就被改变了。

int[] i1={1,2,3};

int[] i2=i1;

2.Arrays.copyOf(Object[] array,int length),该方法是Arrays类的静态方法,从源数组array的第一个元素开始复制长度为lenth的数据并返回复制之后的数组。如果length的长度大于源数组的长度,那么多出来的元素将被类型的默认初始化值代替。

int[] i1={1,2,3};

int[] i2=Arrays.copyOf(i1,i1.length+1);

那么i2的结果为{1,2,3,0}

3.System.arrayCopy(Object[] from ,int frompos,Object[] to,int topos,int length);该方法是System类的静态方法,当复制的内容超出目标数组的长度的时候会报数组越界异常。

 

 

二、因为java中只有值传递,所以通过包装类改变数值参数的方法是不可行的,这时可以使用org.omg.CORBA中定义的holder来实现,如下:

public static void(IntHolder x){

  x.value=x.value*3;

}

这样就可以实现将x.value增加三倍。

 

三、mybits判断语句对于数字类型0的处理,需要特殊注意

在mybatis查询时。遇到这种如果传进来的的status值为0 ,直接跳出if不执行,
问题在于参数类型只能作用于string,int 、double、float等类型的参数默认值为0 ,将直接跳出if,
删掉后面的空字符串判断即可

posted @ 2020-01-09 14:37  IAmSao瑞  阅读(95)  评论(0)    收藏  举报