我可以将字符串变成变量吗?

时间:2014-05-31 01:00:35

标签: java android

我有一个已加载所有图片的资产类,我还有一个卡类,我在卡类中有一个字符串,用于该卡的名称。现在我想从我的资产中的值中使用卡类中的字符串绘制该图像,以便它们匹配。我怎么做到这一点?

这就是我所拥有的

class Assets {
       public static Pixmap kick;
}

和上下文我想从

获得它
void drawHand(){
        int x = 70;
        for(int i=0;i<hand.length;i++){
            Graphics g = game.getGraphics();
            g.drawPixmap(Assets.(hand[i].returnname()),x,230); // hand[i].returnname() == "kick"
            x= x+65 ;
        }

    }

1 个答案:

答案 0 :(得分:1)

您可以使用反射读取类成员名称:

class Assets {
    public Integer kick = 5;
}

class HelloWorld
{
    public static void main (String[] args)
    {
        Assets t = new Assets();
        Field[] fields = t.getClass().getDeclaredFields();
        for (Field f: fields){
            System.out.println("f = " + f.getName()); // prints f = kick
        }
    }
}

那就是说,我同意@ajb:你可能想要使用一个hashmap,通常最好不要使用反射。