import lombok.Data;/**
*@author liuxingying
*@description
*@since 2020/12/30
*/
@Data
public class User implements Cloneable{
private Integer age;
private String name;
@Override
public User clone() throws CloneNotSupportedException {return(User) super.clone();}}
实现对比
public staticvoidmain(String[] args){
List<User> userList1 = new ArrayList<>();
List<User> userList2 = new ArrayList<>();long t1 = System.currentTimeMillis();for(int i =0; i <1000000; i++){
User u1 = new User();
u1.setAge(10);
u1.setName("Tom"+ i);
userList1.add(u1);}long t2 = System.currentTimeMillis();
User u1 = new User();
try {for(int i =0; i <1000000; i++){
User u2 = u1.clone();//每次clone后是创建新的对象
u2.setAge(20);
u2.setName("Tom"+ i);
userList2.add(u2);}}catch(CloneNotSupportedException e){
e.printStackTrace();}long t3 = System.currentTimeMillis();
System.out.println(t2 - t1);
System.out.println(t3 - t2);}