审查Java代码的十一种常见错误(2)
文章作者 100test 发表时间 2007:03:14 17:01:02
来源 100Test.Com百考试题网
四、常见错误4# :自编代码来拷贝数组
Java允许你克隆数组,但是开发者通常会错误地编写如下的代码,问题在于如下的循环用三行做的事情,如果采用Object的clone方法用一行就可以完成:
public class Example{
private int[] copy.
/*** Save a copy of ’data’. ’data’ cannot be null.*/
public void saveCopy (int[] data){
copy = new int[data.length].
for (int i = 0. i < copy.length. i)
copy[i] = data[i].
}
}
这段代码是正确的,但却不必要地复杂。saveCopy()的一个更好的实现是:
void saveCopy (int[] data){
try{
copy = (int[])data.clone().
}catch (CloneNotSupportedException e){
// Can’t get here.
}
}
如果你经常克隆数组,编写如下的一个工具方法会是个好主意:
static int[] cloneArray (int[] data){
try{
return(int[])data.clone().
}catch(CloneNotSupportedException e){
// Can’t get here.
}
}
这样的话,我们的saveCopy看起来就更简洁了:
void saveCopy (int[] data){
copy = cloneArray ( data).
}