代码如下,为什么使用了clone()方法花的时间更多?public static void main(String[] args) {
List<SetBean> list = new ArrayList<SetBean>();
List<SetBean> list2 = new ArrayList<SetBean>();
long startTime,endTime;
System.out.println(startTime=System.nanoTime());
SetBean set = new SetBean();
for(int i=0;i<50;i++){
set = (SetBean) set.clone();
set.setValue(1.0+i);
list.add(set);
}
System.out.println(endTime=System.nanoTime());
System.out.println(endTime-startTime);
System.out.println("*****************");
System.out.println(startTime=System.nanoTime());
for(int i=0;i<50;i++){
SetBean set2 = new SetBean();
set2.setValue(1.0+i);
list2.add(set2);
}
System.out.println(endTime=System.nanoTime());
System.out.println(endTime-startTime);
}public class SetBean implements Cloneable{
private String color;
private Double value;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public Double getValue() {
return value;
}
public void setValue(Double value) {
this.value = value;
}
@Override
protected Object clone() {
SetBean set = null;
try {
set = (SetBean)super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return set;
}
}