我練習使遊戲戰艦。我在這裏爲玩家制作了遊戲網格,並試圖爲電腦玩家複製網格。然而,當我改變AI的網格時,它會改變玩家的網格。我讀到這是因爲它們是一起引用的,而不是單個副本。我怎樣才能讓(不refernce)二維字符串的副本?
static String[] Row1 = new String[] {" ", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
static String[] Row2 = new String[] {"A", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"};
static String[] Row3 = new String[] {"B", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"};
static String[] Row4 = new String[] {"C", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"};
static String[] Row5 = new String[] {"D", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"};
static String[] Row6 = new String[] {"E", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"};
static String[] Row7 = new String[] {"F", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"};
static String[] Row8 = new String[] {"G", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"};
static String[] Row9 = new String[] {"H", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"};
static String[] Row10 = new String[] {"I", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"};
static String[] Row11 = new String[] {"J", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"};
static String[][] playerGrid = {Row1,Row2,Row3,Row4,Row5,Row6,Row7,Row8,Row9,Row10,Row11};
static String[][] aiGrid = playerGrid;
我讀了關於使用clone(),但我不知道代碼中的位置。
我也試過
static String[][] aiGrid = new String[][](playerGrid.getText());
,但我得到一個錯誤,說明我是想一個String []存儲到一個String [] []
有什麼建議?
的可能的複製[複製在Java 2D陣列(http://stackoverflow.com/questions/1686425/copy-a-2d-array-in-java) – resueman