2014-09-19 76 views
0

为了简单起见,我写了一个非常简单的方法来说明我正在尝试做什么。我想发送这个方法一个字符串,然后创建一个新的变量,其名称将是字符串。我知道这是完全无效的,目前我正在这样做,但我怎么能做到这一点? (据我所知,这种方法看起来完全是愚蠢的,貌似我不知道我在做什么,但我做的。我的节目我写确实需要这种能力。请帮助。)Java:如何用一个字符串的名称创建一个新变量?

public int whatever(String s) 
{ 
     int s = "hello"; 
     return s; 
} 
+4

对我来说似乎就像[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。你能解释为什么你需要这种行为? – fracz 2014-09-19 21:26:15

+1

我不完全确定你想达到什么,但它看起来像[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。考虑描述*你实际想要达到什么,而不仅仅是*你想怎么做。现在你所描述的似乎是不可能的,但其中一种方法可能是使用'Map'。 – Pshemo 2014-09-19 21:27:16

+1

**“我写的程序确实需要这个功能。”**为什么?你的程序是否有一些方法来知道变量的名字?如果你知道这个方法'whatever'有一个名为'hello'的局部变量,你能做什么?你会怎么做? – 2014-09-19 21:27:20

回答

0

基本上你想在运行时创建或修改类。搜索诸如“运行时字节码操作”这样的短语应该会为您提供一些线索。

但我质疑你是否真的想做你认为你想做的事。你能解释为什么Map<String, Integer>不能满足你的要求吗?

相关问题