从字符串中按名称获取变量

示例代码:


int width = 5;

int area = 8;

int potato = 2;

int stackOverflow = -4;

现在,说我想让用户输入一个字符串:


String input = new Scanner(System.in).nextLine();

然后,说出用户输入potato。我如何检索命名的变量potato并对其进行处理?像这样:


System.getVariable(input); //which will be 2

System.getVariable("stackOverflow"); //should be -4

我抬头看了些东西,却没发现太多。我确实找到了对“反射API”的引用,但是对于这一简单任务而言,它似乎太复杂了。


有没有办法做到这一点,如果是这样,是什么呢?如果“反射”确实有效并且是唯一的方法,那么我将如何使用它来做到这一点?它的教程页面包含各种我无法理解的内部内容。


编辑:我需要将Strings 保留在变量中以进行我的操作。(我不能使用Map)


慕容3067478
浏览 498回答 3
3回答

慕标5832272

与其尝试查找变量名的值,不为什么不使用带有键/值对的Map?Map<String, Integer> vars = new HashMap<String, Integer>();vars.put("width",5);vars.put("area",8);vars.put("potato", 2);vars.put("stackOverflow",-4);然后,您可以像这样访问输入:vars.get(input); //would be 2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java