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的名称永远不会与您的程序在运行时的使用相关(除非您正在制作调试工具或编译器之类的东西,是吗?)。不。但这正是我想要的。我想也许有一种方法可以获取变量名并进行比较,但某种数组也在起作用。谢谢。有,反射
,但是通过使用反射
,您可以以一种非常、非常低效的方式实现完全相同的功能。这不是一个数组。这是一张地图
。好的。不是数组,而是集合?