Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以把字符串转换成变量吗?_Java_Android - Fatal编程技术网

Java 我可以把字符串转换成变量吗?

Java 我可以把字符串转换成变量吗?,java,android,Java,Android,我有一个assets类,它加载了我所有的图像,我还有一个card类,在card类中有一个字符串作为该卡的名称。现在我想从我的资产中的值和card类中的字符串中绘制该图像,以便它们匹配。我将如何做到这一点 这就是我所拥有的 class Assets { public static Pixmap kick; } 我想从上下文中得到它 void drawHand(){ int x = 70; for(int i=0;i<hand.length;i+

我有一个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 ;
        }

    }
void drawHand(){
int x=70;

对于(int i=0;i,可以使用反射读取类成员名称:

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

如果您说要设置东西,以便
hand[I].returnname()
返回字符串
“kick”
然后它将加载
资产。kick
,在Java中不能这样做。您要设置
映射
,以将
字符串
“kick”
与所需的
Pixmap
相关联,而不是(或除此之外)一个名为
kick
的变量。请看这个。@ajb False。您可以使用反射来完成它。但是您说得对,无论他想要实现什么,都可以更轻松地完成。