今天在写排班系统过程遇到一个类的复制问题,而类中有一个属性使用了int[] 数组,原来考虑到由于没有什么特殊的操作,纯粹只是暂存数据,没想到后面需要使用clone方法,这样就出现了下面的一个循环,就导致了降低了程序的可读性,和一些不必要的代码量。
原来的代码:
private int[] personLimitPerTurn;
int temp[]=new int[this.personLimitPerTurn.length];
for (int index = 0; index < this.personLimitPerTurn.length; index++)
{
temp[index]=personLimitPerTurn[index];
}
myClone.setPersonLimitPerTurn(temp);
修改后的代码:
private ArrayList personLimitPerTurn;
myClone.setPersonLimitPerTurn((ArrayList)this.personLimitPerTurn.clone());
还是C++时代流行来的一些坏习惯,不会灵活的使用java中的数据结构。
路漫漫其修远兮!