top of page

Java Object Cone

  • taolius
  • May 25, 2017
  • 1 min read

public class Employee implements Cloneable{

private int empoyeeId;

private String employeeName;

private Department department;

public Employee(int id, String name, Department dept)

{

this.empoyeeId = id;

this.employeeName = name;

this.department = dept;

}

@Override

protected Object clone() throws CloneNotSupportedException {

return super.clone();

}

//Accessor/mutators methods will go there

}

Use Reflection (might have bugs)

private static Object cloneObject(Object obj){ try{ Object clone = obj.getClass().newInstance(); for (Field field : obj.getClass().getDeclaredFields()) { field.setAccessible(true); if(field.get(obj) == null || Modifier.isFinal(field.getModifiers())){ continue; } if(field.getType().isPrimitive() || field.getType().equals(String.class) || field.getType().getSuperclass().equals(Number.class) || field.getType().equals(Boolean.class)){ field.set(clone, field.get(obj)); }else{ Object childObj = field.get(obj); if(childObj == obj){ field.set(clone, clone); }else{ field.set(clone, cloneObject(field.get(obj))); } } } return clone; }catch(Exception e){ return null; } }


 
 
 

Comments


© 2023 by BI World. Proudly created with Wix.com

  • Facebook Basic Black
  • Twitter Basic Black
  • YouTube Basic Black
bottom of page