在Java中使用变量作为其他变量的名称

在Java中使用变量作为其他变量的名称,java,Java,好的,我不完全确定我的标题是否正确,但是我想使用一个int变量来定义另一个int来通过一个方法。换句话说,我希望能够让int/name/thingy变量通过一个++语句,然后下一个变量将通过该方法。这是可能的吗?如果不需要创建一个新的变量,该变量的名称存储在另一个变量中,那么反射就是一种方法 String varName = "x"; Point2D point = new Point(15, 2); Integer val = (Integer)Point.class.getDeclared

好的,我不完全确定我的标题是否正确,但是我想使用一个int变量来定义另一个int来通过一个方法。换句话说,我希望能够让int/name/thingy变量通过一个++语句,然后下一个变量将通过该方法。这是可能的吗?

如果不需要创建一个新的变量,该变量的名称存储在另一个变量中,那么反射就是一种方法

String varName = "x";

Point2D point = new Point(15, 2);
Integer val = (Integer)Point.class.getDeclaredField(varName).get(point);
assert val == 15;

你可以使用反射

或者看看能不能有个主意


几乎可以肯定的是,你想使用一个映射或列表之类的东西,本质上是一个有一个小的正整数键的稠密映射。

你说我想使用一个整数变量来定义另一个整数,你是说

int a = 0; //declare a new variable a of type int and assign it to zero
a b = 0;   //declare a new variable b of type a which is an int and assign it to zero

从你所说的来看,这就是你所说的。如果是这样的话,我认为你做不到。我的记忆告诉我,有一种方法可以让你确定一个对象的类型,但是可以用它作为另一个变量的声明。。。我不知道您是否可以这样做。

整数数组可能会解决您的问题。该数组存储ints变量,另一个运行在索引中,即您的++操作:

int[] values = loadValuesInArray();  // some magic to get the populated array
for (int i = 0; i < values.length; i++) {
   myMagicMethod(values[i]);         // calling the method with int values 
}
如果需要命名变量,则可以使用映射:

Map<String, Integer> variables = new HashMap<String, Integer>();
variables.put("a", 1);
variables.put("b", -10);
variables.put("c", 25);

myMagicMethod(variables.get("b"));  // calls method with value from "variable" b

喜欢指针?你能用伪代码或其他语言告诉我们你在想什么吗?你能提供一些伪代码来解释你想做什么吗?可能是,到目前为止你做了什么?@Kylar我只知道java。。。不管怎么说,我正在尝试为康威的生活游戏制作一个虚拟网格,并且正在讨论在哪里以及如何存储变量。我还没有尝试,只是想知道我是否会转动轮子。不,不是真的。我想说使用x的值作为Y的名称,有64个Y,每个Y都有自己的值是的,我现在说这可能是最好的选择。还有另一个for块,您可以为数组中的每个变量执行某些操作+一个好答案。