如何将Array元素作为常量访问 - Java

时间:2013-10-14 21:16:40

标签: java arrays

我正在尝试将颜色值存储在Java数组中,但我知道这些值存储为字符串,

String[] colorarray = {"Color.yellow","Color.red","Color.blue"};

现在,我无法访问此数组元素来设置颜色,即

g.setColor(colorarray[0]);

因为数组中的所有值都是字符串。 我怎么能将这些值转换为常量?

3 个答案:

答案 0 :(得分:11)

使用

Color[] colorArray = {Color.YELLOW, Color.RED, Color.BLUE};

答案 1 :(得分:7)

直截了当,使用它:

Color[] colorarray = {Color.YELLOW, Color.RED, Color.BLUE};

答案 2 :(得分:2)

如果您可以控制数组,请务必将其更改为Color的数组,如其他几个人所建议的那样。

Color[] colorArray = {Color.YELLOW, Color.RED, Color.BLUE};

如果您无法控制阵列并且必须按原样使用它,则需要执行以下两项操作之一:

  1. 使用反射来访问Color类的静态成员 (快速谷歌搜索将为您提供大量有关如何执行此操作的示例,因此我不会在此处进行讨论)
  2. 在字符串上创建Java 7 switch语句,将数组中的每个可能颜色值解释为Color.XXX,其中XXX是颜色的名称。 (这也可以使用一个大的if-else块来完成,但不会那么干净)
  3. 另一个快速注释 - 按照惯例,Java中的变量名称是以小写字母开头的camelCase。这有助于使您的代码更具可读性。 (类名是CamelCase,包名是lower.case)