0

I am trying to store the Color values in Java Array but I know that these values are stored as strings,

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

Now, I couldn't access this array element to set the color, i.e

g.setColor(colorarray[0]);

Because all the values in the array are strings. How could I convert these values to the constants ?

4

3 回答 3

11

利用

Color[] colorArray = {Color.YELLOW, Color.RED, Color.BLUE};
于 2013-10-14T21:17:47.190 回答
7

直截了当,使用这个:

Color[] colorarray = {Color.YELLOW, Color.RED, Color.BLUE};
于 2013-10-14T21:18:53.803 回答
2

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

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

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

  1. 使用反射来访问类的静态成员Color(一个快速的谷歌搜索会给你很多关于如何做到这一点的例子,所以我不会在这里讨论)
  2. 在字符串上创建一个 Java 7 switch 语句,以将数组中每个可能的颜色值解释为Color.XXX颜色XXX名称。(这也可以使用一个大的 if-else 块来完成,但这不会那么干净)

另一个快速说明 - 按照惯例,Java 中的变量名称以小写字母开头的驼峰式命名。这有助于使您的代码更具可读性。(类名是 CamelCase,包名是小写)

于 2013-10-14T21:32:38.563 回答