有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我可以将字符串转换为变量吗?

我有一个assets类,它加载了我所有的图像,我还有一个card类,在card类中有一个字符串作为该卡的名称。现在我想用card类中的字符串从我资产中的值绘制该图像,以便它们匹配。我该如何做到这一点

这就是我所拥有的

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) 个答案

  1. # 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,而且,通常避免使用反射是个好主意