Java Memento Pattern | übergabe einer Kopie des Arrays

F

Furtano

Gast
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();
		}
	
	}
}
 
Hi SymA,

danke für den Hinweis! Hat funktioniert, du bist super! :).

LG,
Furtano
 
Zurück
Oben