Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung von Beispielen für das Kopieren von Java-Objekten

Detaillierte Erläuterung von Beispielen für das Kopieren von Java-Objekten

Y2J
Y2JOriginal
2017-04-26 10:03:142092Durchsuche

Dieser Artikel ist eine detaillierte Analyse und Einführung in die Java-Objektreplikation.

Java selbst bietet die Möglichkeit, Objekte zu kopieren. Es gibt eine Klonmethode. Die Objektklasse ist eine geschützte Methode. Sie müssen diese Methode auch als öffentlichen Typ deklarieren, um die Fähigkeit zum Kopieren von Objekten bereitzustellen Die Effizienz nativer Methoden ist viel höher als die nicht-nativer Methoden in Java. Wenn Sie mehr Wert auf die Leistung legen, sollten Sie diese Methode zuerst in Betracht ziehen. Es gibt viele Beispiele für diese Art des Kopierens, daher habe ich gewonnen. Ich gehe hier nicht näher darauf ein. Der Reflexionsmechanismus ist möglicherweise weniger effizient als clone() und unterstützt kein tiefes Kopieren und Kopieren von Sammlungstypen verbessert. Das Folgende ist der Code zum Kopieren:

Der Code lautet wie folgt:

private <T> T getBean(T TargetBean, T SourceBean) {        if (TargetBean== null) return null;        Field[] tFields = TargetBean.getClass().getDeclaredFields();        Field[] sFields = SourceBean.getClass().getDeclaredFields();        try {            for (Field field : tFields ) {                String fieldName = field.getName();                if (fieldName.equals("serialVersionUID")) continue;                if (field.getType() == Map.class) continue;
                if (field.getType() == Set.class) continue;
                if (field.getType() == List.class) continue;                for (Field sField : sFields) {                    if(!sField .getName().equals(fieldName)){                        continue;                    }                    Class type = field.getType();                    String setName = getSetMethodName(fieldName);                    Method tMethod = TargetBean.getClass().getMethod(setName, new Class[]{type});                    String getName = getGetMethodName(fieldName);                    Method sMethod = SourceBean.getClass().getMethod(getName, null);                    Object setterValue = voMethod.invoke(SourceBean, null);                    tMethod.invoke(TargetBean, new Object[]{setterValue});                }            }        } catch (Exception e) {            throw new Exception("设置参数信息发生异常", e);        }        return TargetBean;}
Diese Methode erhält zwei Parameter, einer ist das zu kopierende Quellobjekt und der andere ist das zu kopierende Zielobjekt. Natürlich kann diese Methode auch zwischen zwei verschiedenen Objekten verwendet werden Solange das Zielobjekt und das Objekt über ein oder mehrere Attribute desselben Typs und Namens verfügen, werden die Attributwerte des Quellobjekts den Zieleigenschaften zugewiesen.


Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für das Kopieren von Java-Objekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn