Java 我可以把字符串转换成变量吗?
我有一个assets类,它加载了我所有的图像,我还有一个card类,在card类中有一个字符串作为该卡的名称。现在我想从我的资产中的值和card类中的字符串中绘制该图像,以便它们匹配。我将如何做到这一点 这就是我所拥有的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+
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。您可以使用反射来完成它。但是您说得对,无论他想要实现什么,都可以更轻松地完成。