java - 我可以把字符串变成一个变量吗?

标签 java android

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

这是我的

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 ;
        }

    }

最佳答案

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

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

关于java - 我可以把字符串变成一个变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23965417/

相关文章:

java - 为什么条件运算符出现意外行为

android - 如何将文本文件中的数据插入android中的sql数据库?

java - Android 获取 facebook 电子邮件地址

android - Android中BluetoothLeScanner的setReportDelay的目的是什么

android - 错误: Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroswing/tree/DefaultMutableTreeNode;

java - 单击时更改 JButton 文本

java - 在jsp servlet中创建文件

java - JSF、JBOSS 显示不正确

java - MongoDB Java驱动程序3.2 : parsing Json String to ArrayList<Document>

android - FloatingActionButton 在 pre-lollipop 中占用额外的空间