Java 从方法设置自定义变量

Java 从方法设置自定义变量,java,Java,我有一些字符串变量: private String cur, last, avg, vol, shop; 我有一个方法,它接受字符串,并给出一些结果: public void SomeMethod(String somestring) { //Here some action with `string` System.out.print(result) } 因此,我想将result放入String变量之一,但在我的方法中,该变量必须命名为somestring的值。将somes

我有一些
字符串
变量:

private String cur, last, avg, vol, shop;
我有一个方法,它接受
字符串
,并给出一些结果:

public void SomeMethod(String somestring)
{
    //Here some action with `string`
    System.out.print(result)
}

因此,我想将
result
放入
String
变量之一,但在我的方法中,该变量必须命名为
somestring
的值。将
somestring
与现有变量名称进行比较的某些方法。这样的事情可能发生吗?

你说的是变量名。它们是PHP中的本机特性,但不是Java中的特性,但是您可以使用
HashMap
或反射来实现类似的功能。我将向您展示
HashMap
选项,因为坦率地说,反射是撒旦的工作

范例

现在实现这一点的方法如下:

public void someMethod(String name, String value)
{
    values.put(name, value);
}
你可以用电脑取回它们

public void getValue(String name)
{
    return values.get(name);
}
我不会为您编写代码,因为这是一个简单的转换,可以让它在您的用例中工作

一个暗示,因为我感觉很好


您可以用
映射
实现替换所有
字符串
变量。然后,只要在需要时将值添加到
映射中即可。

通过反射,这是可能的:)也许通过反射你可以做到,但这对我来说确实是一个糟糕的解决方案。。。你想完成什么?为什么要根据变量的内容更改变量名?我不想更改变量名。我只想比较变量名和
somestring
的值,然后将该变量的值设置为结果。这可能不是您想要的。因为var的名称永远不会与您的程序在运行时的使用相关(除非您正在制作调试工具或编译器之类的东西,是吗?)。不。但这正是我想要的。我想也许有一种方法可以获取变量名并进行比较,但某种数组也在起作用。谢谢。有,
反射
,但是通过使用
反射
,您可以以一种非常、非常低效的方式实现完全相同的功能。这不是一个
数组。这是一张
地图
。好的。不是数组,而是集合?