private static final char[][] CHARSET = {
       {'A', 'A'}, {'B', 'B'}, {'C', 'C'},
       {'D', 'D'}, {'E', 'E'}, {'F', 'F'},
       {'G', 'G'}, {'H', 'H'}, {'I', 'I'},
       {'J', 'J'}, {'K', 'K'}, {'L', 'L'},
       {'M', 'M'}, {'N', 'N'}, {'O', 'O'},
       {'P', 'P'}, {'Q', 'Q'}, {'R', 'R'},
       {'S', 'S'}, {'T', 'T'}, {'U', 'U'},
       {'V', 'V'}, {'W', 'W'}, {'X', 'X'},
       {'Y', 'Y'}, {'Z', 'Z'}
  };
请问这个数组什么意思啊,要怎么理解呢?希望答复者能给以详细答复,谢谢!

解决方案 »

  1.   

    一共有二十六个英文字符,每一个字符占据数组中的头一维,也就是 CHARSET[26][]
    每一个字符又分中英文两种,所以在头一维中又分两维。所以是CHARSET[26][2]CHARSET[x][0] 表示第x个字母的中文字符
    CHARSET[x][1] 表示第x个字母的英文字符
      

  2.   

    如果真的是用来转换字符用的,感觉还是用Map比较好啊
      

  3.   

    这个是数组字面量表示形式.
    相当于下面的:private static final char[][] CHARSET;CHARSET = new char[26][2];CHARSET[0][0] = 'A';
    CHARSET[0][1] = 'A';
    CHARSET[1][0] = 'B';
    CHARSET[1][1] = 'B';
    .........CHARSET[25][0] = 'Z';
    CHARSET[25][1] = 'Z';