background image

     * @param stu

     * @return

     */

    public Student copyStudent(Student stu)

    {

       Student stuCopy = new Student();

       stuCopy.setId(stu.getId());

       stuCopy.setName(stu.getName());

       stuCopy.setSex(stu.getSex());

       return stuCopy;

    }

}

    好,我们升一下级。我让大家做一个方法能够克隆任何对象,大家还可以立刻做出来
吗?不妨自己写一写。有人可能已经开始皱眉了:任何对象?无从下手啊这个!。是的,如
果大家对 Java 语言的反射机制一无所知,这是很难做到的。接着看实现代码:

/**

     * 克隆任意一个符合 javabean 规范的对象

     * @param obj

     * @return 跟 obj 属性值一模一样的克隆对象 objCopy

     * @throws Exception

     */

    public static Object copy(Object obj) throws Exception{

       //获得对象所属的 Class 类型对象