Wie kopiere ich ein Objekt in Java?

Wie Kopiere Ich Ein Objekt In Java



In Java kommt das Kopieren eines Objekts dann zum Einsatz, wenn die Notwendigkeit besteht, die bereits im Code implementierten Funktionalitäten zu nutzen, anstatt sie noch einmal von Grund auf anzuwenden. Außerdem ist es hilfreich, wenn es darum geht, die Daten basierend auf den enthaltenen Datensätzen zu aktualisieren. Auf diese Weise werden die Codekomplexität und die Auslastung der Ressourcen effektiv reduziert.

In diesem Artikel werden die Ansätze zum Kopieren eines Objekts in Java demonstriert.

Wie kopiere ich ein Objekt in Java?

Ein Objekt kann in Java mit den folgenden Ansätzen kopiert werden:







Greifen Sie auf alle Kurse im Bereich „ zu. java.util ”-Paket, bevor Sie zu den Beispielen übergehen:



importieren Java. util . *;

Ansatz 1: Kopieren eines Objekts in Java mit „Copy Constructor“

Der ' Konstruktor kopieren „erstellt/definiert ein Objekt, indem es auf dasselbe zuvor erstellte Klassenobjekt verweist.



Beispiel
Das folgende Beispiel wendet den „Copy Constructor“ an, um ein Objekt zu kopieren:





öffentlich Klasse Objekt kopieren {
int Ausweis ;
Zeichenfolge Stadt ;
Objekt kopieren ( int Ausweis , Zeichenfolge Stadt ) {
Das . Ausweis = Ausweis ;
Das . Stadt = Stadt ; }
Objekt kopieren ( CopyObject-Objekt ) {
Das . Ausweis = Objekt. Ausweis ;
Das . Stadt = Objekt. Stadt ; }
öffentlich Leere Anzeige ( ) {
System. aus . println ( „ID ->“ + Das . Ausweis ) ;
System. aus . println ( „Stadt ->“ + Das . Stadt ) ; }
öffentlich statisch Leere hauptsächlich ( Zeichenfolge [ ] args ) {
Scanner-Eingabe = neu Scanner ( System. In ) ;
System. aus . println ( „Geben Sie die ID ein:“ ) ;
int Ausweis = Eingang. nextInt ( ) ;
System. aus . println ( „Betreten Sie die Stadt:“ ) ;
Zeichenfolge Stadt = Eingang. nächste ( ) ;
CopyObject-Objekt1 = neu Objekt kopieren ( Ausweis , Stadt ) ;
CopyObject-Objekt2 = neu Objekt kopieren ( Objekt1 ) ;
System. aus . println ( „Standardobjekt ->“ ) ;
Objekt1. Anzeige ( ) ;
System. aus . println ( „Kopiertes Objekt ->“ ) ;
Objekt2. Anzeige ( ) ;
Eingang. schließen ( ) ;
} }

Im obigen Codeausschnitt:

  • Erstellen Sie eine Klasse mit dem Namen „ Objekt kopieren “.
  • Geben Sie die angegebenen Mitgliedsvariablen der Klasse an.
  • Erstellen Sie anschließend einen parametrisierten Klassenkonstruktor, der die übergebenen Werte den angegebenen Variablen zuordnet über „ Das “.
  • Erstellen Sie nun ein „ Konstruktor kopieren ” das ein bereits erstelltes Klassentypobjekt als Parameter verwendet, der später als Argument übergeben wird.
  • Definieren Sie außerdem die Funktion „ Anzeige() ”, das die übergebenen Objektwerte anzeigt.
  • Im ' hauptsächlich() „-Methode erstellen Sie ein „Scanner“-Objekt, um Benutzereingaben über die „ System.in ” Parameter.
  • Verknüpfen Sie außerdem das „ nextInt() ' Und ' nächste() ”-Methoden, um die Ganzzahl- bzw. Zeichenfolgen-Benutzereingaben zu übernehmen.
  • Erstellen Sie ein Klassenobjekt über „ neu ” Schlüsselwort und das „ CopyObject() ”-Konstruktor mit den vom Benutzer eingegebenen Werten als Argumenten.
  • Erstellen Sie außerdem ein Kopierobjekt mit dem erstellten Objekt als Argument, um den kopierten Inhalt zurückzugeben, indem Sie auf den Klassenkopiekonstruktor verweisen.
  • Rufen Sie abschließend die „ Anzeige() ”-Funktion, um die übergebenen Benutzereingabewerte anzuzeigen und den „Scanner“ zu schließen.

Ausgang



In dieser Ausgabe kann impliziert werden, dass ein Kopierobjekt erstellt und entsprechend angezeigt wird.

Ansatz 2: Kopieren eines Objekts in Java über die Methode „clone()“.

Der ' Klon() „Methode der“ java.lang.Object Die Klasse „nimmt ein Objekt als Parameter, erstellt eine Kopie davon und gibt sie aus. Diese Methode kann zum Kopieren eines Objekts implementiert werden, indem auf das bereits erstellte Objekt (das kopiert werden muss) und die Methode „clone()“ verwiesen wird.

Syntax

Objekt. Klon ( )

Diese Methode gibt eine Kopie des Objekts und wirft „ CloneNotSupportedException ” wenn die Klasse des Objekts die „Cloneable“-Schnittstelle nicht implementiert/anwendet.

Beispiel
Gehen Sie die folgenden Codezeilen durch:

öffentlich Klasse Objekt kopieren implementiert Klonbar {
int Ausweis ;
Zeichenfolge Stadt ;
Objekt kopieren ( int Ausweis , Zeichenfolge Stadt ) {
Das . Ausweis = Ausweis ;
Das . Stadt = Stadt ;
}
öffentlich Leere Anzeige ( ) {
System. aus . println ( „ID ->“ + Das . Ausweis ) ;
System. aus . println ( „Stadt ->“ + Das . Stadt ) ;
}
öffentlich statisch Leere hauptsächlich ( Zeichenfolge [ ] args ) wirft CloneNotSupportedException {
Scanner-Eingabe = neu Scanner ( System. In ) ;
System. aus . println ( „Geben Sie die ID ein:“ ) ;
int Ausweis = Eingang. nextInt ( ) ;
System. aus . println ( „Betreten Sie die Stadt:“ ) ;
Zeichenfolge Stadt = Eingang. nächste ( ) ;
CopyObject-Objekt1 = neu Objekt kopieren ( Ausweis , Stadt ) ;
System. aus . println ( „Standardobjekt ->“ ) ;
Objekt1. Anzeige ( ) ;
System. aus . println ( „Kopiertes Objekt ->“ ) ;
CopyObject-Objekt2 = ( Objekt kopieren ) Objekt1. Klon ( ) ;
Objekt2. Anzeige ( ) ;
Eingang. schließen ( ) ;
} }

Führen Sie gemäß dem obigen Codeblock die unten aufgeführten Schritte aus:

  • Erinnern Sie sich an die besprochenen Ansätze zum Definieren einer Klasse, zum Festlegen der Mitgliedsvariablen, zum Erstellen eines parametrisierten Klassenkonstruktors (Zuweisen der übergebenen Werte) und zum Definieren einer Funktion zum Anzeigen der Werte.
  • Jetzt in ' hauptsächlich() In ähnlicher Weise gibt der Benutzer die Werte ein, übergibt diese Werte an das erstellte Klassenobjekt und zeigt sie über die entsprechende Funktion an.
  • Danach wird das „ Klon() ”-Methode in Kraft tritt, die mit dem bereits erstellten Objekt verknüpft ist, um ein Kopierobjekt zu erstellen.
  • Abschließend können Sie sich über die besprochene Funktion auch die kopierten Objektinhalte anzeigen lassen.

Ausgang

Bei diesem Ergebnis kann beobachtet werden, dass die Benutzereingabewerte zweimal mit identischen Ergebnissen zurückgegeben werden, wodurch sichergestellt wird, dass das Klassenobjekt ordnungsgemäß kopiert wird.

Abschluss

Ein Objekt kann in Java mit der Funktion „ Konstruktor kopieren ', oder der ' Klon() ' Methode. Der erstere Ansatz kopiert das Objekt, indem er das bereits erstellte Objekt als Argument des Kopierkonstruktors verwendet. Der letztere Ansatz ist direkt mit dem erstellten Klassenobjekt verknüpft. Dieser Artikel demonstrierte die Ansätze zum Kopieren eines Objekts in Java.