欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java 克隆对象工具类_关于dorado-core源码包中CloneUtils克隆工具类对对象进行克隆复制操作...

发布时间:2025/6/15 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java 克隆对象工具类_关于dorado-core源码包中CloneUtils克隆工具类对对象进行克隆复制操作... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、前言

基于dorado.core.jar开源包中的com.bstek.dorado.util.CloneUtils克隆工具类,对对象进行通过java.lang.reflect.Method映射克隆复制操作。

二、源码说明package com.bstek.dorado.util;@b@@b@import java.lang.reflect.InvocationTargetException;@b@import java.lang.reflect.Method;@b@@b@public abstract class CloneUtils@b@{@b@  private static final String CLONE_METHOD = "clone";@b@  private static final Class>[] CLONE_METHOD_ARGTYPES = new Class[0];@b@  private static final Object[] CLONE_METHOD_ARGS = new Object[0];@b@@b@  public static Object clone(Object object)@b@    throws CloneNotSupportedException@b@  {@b@    Object clonedObject = null;@b@    Class cl = object.getClass();@b@    Method method = null;@b@    try {@b@      do@b@        try {@b@          method = cl.getDeclaredMethod("clone", CLONE_METHOD_ARGTYPES);@b@        }@b@        catch (NoSuchMethodException e)@b@        {@b@          cl = cl.getSuperclass();@b@        }@b@      while (method == null);@b@@b@      if (method != null) {@b@        boolean methodAccessible = method.isAccessible();@b@        if (!(methodAccessible)) method.setAccessible(true);@b@        try {@b@          clonedObject = method.invoke(object, CLONE_METHOD_ARGS);@b@        }@b@        finally {@b@          if (!(methodAccessible)) method.setAccessible(false);@b@        }@b@      }@b@    }@b@    catch (SecurityException e) {@b@      e.printStackTrace();@b@    }@b@    catch (InvocationTargetException e) {@b@      e.getCause().printStackTrace();@b@    }@b@    catch (IllegalArgumentException e) {@b@      e.printStackTrace();@b@    }@b@    catch (IllegalAccessException e) {@b@      e.printStackTrace();@b@    }@b@    return clonedObject;@b@  }@b@}

总结

以上是生活随笔为你收集整理的java 克隆对象工具类_关于dorado-core源码包中CloneUtils克隆工具类对对象进行克隆复制操作...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。