OOP Memento Pattern | übergabe einer Kopie des Arrays

Furtano

Mitglied
Hallo,

ich möchte eine Kopie des Arrays übergeben, aber er übergibt immer nur die Referenz.
Wie übergebe ich in Java eine Kopie?
Sonst funktioniert das Memento Pattern nicht .

Danke!

PHP:
package DesignPattern;

public class Tester
{
	public void start (){
		
		Originator originator = new Originator();
		CareTaker careTaker = new CareTaker();
		
		int matrixHeight = 10;
		int matrixWidth  = 10;
		char ab[][] = new char[matrixHeight][matrixWidth];

		for (int y = 0; y < matrixHeight; y++)
		{
			for (int x = 0; x < matrixWidth; x++)
			{
				ab[0][0] = 'a';

			}
		}
		
		originator.setState(ab.clone());
		careTaker.add(originator.saveStateToMemento());

		for (int y = 0; y < matrixHeight; y++)
		{
			for (int x = 0; x < matrixWidth; x++)
			{
				ab[0][0] = 'b';

			}
		}
		originator.setState(ab.clone());
		careTaker.add(originator.saveStateToMemento());

		originator.getStateFromMemento(careTaker.get(0));
		char[][] finals = originator.getState();

		for (int y = 0; y < matrixHeight; y++)
		{
			for (int x = 0; x < matrixWidth; x++)
			{
				System.out.print(finals[0][0]);

			}
			System.out.println();
		}
	
	}
}
 

Zurück
Oben