我练习使游戏战舰。我在这里为玩家制作了游戏网格,并试图为电脑玩家复制网格。然而,当我改变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