如何在java方法中获取每个参数的名称和值?

时间:2015-02-27 13:46:31

标签: java reflection

我想在java中获取每个参数和值的名称。我搜索了一下,但找不到帮助我的东西。你能告诉我一个解决方案吗? 我有一个方法如下

public HashMap<String, Object> putallinMap(Object...pars){
     HashMap<String, Object> map = new HashMap<String, Object>();
     map.put(pars[0].{name}, pars[0].{value});
     return map;
}

这是我如何称呼上述方法。

String str1 = "Hello world!";
int myint = 55;
double myDouble = 11.5;
...// there can be other primitive types, long, short, Double etc.

HashMap<String, Object> map attrInMap = putallinMap(str1, myint, myDouble);

播种我希望有一个像下面这样的地图。

{"str1":"Hello world!", "myint" : 55, "myDouble": 11.5}

1 个答案:

答案 0 :(得分:0)

你不能得到variable name,因为它只是对一个类的引用。 我建议您改为Object Type。 在获取值方面只需添加对象

像这样的东西

public HashMap<String, Object> putallinMap(Object...pars){
     HashMap<String, Object> map = new HashMap<String, Object>();
     map.put(pars[0].getClass(), pars[0]);
     return map;
}

并根据你的输入输出如下:

{"String":"Hello world!", "Integer" : 55, "Double": 11.5}

注意

了解更多信息我发现这个很好的stackoverflow问题:

Java Reflection: How to get the name of a variable?