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

如何在java方法中获取每个参数的名称和值?,java,reflection,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});

我想用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;
}

无法获取
变量名
,因为它只是对类的引用。 我建议您只需获取
对象类型
。 在获取值方面,只需添加对象即可

像这样的

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

关于更多信息,我发现了一个很好的问题:


您无法获取名称,只能获取值。这取决于具体情况。如果变量是在类级别声明的,则可以获取它们的名称。否则,如果他们是本地人,我认为这是不可能的。谢谢你的回答。但我的要求迫使我使用属性名而不是类名。我记得我在play框架源代码中见过类似的东西。他们通过这样做将请求参数保留到下一个作用域。但ı现在找不到。@gabby嗯,我想这是java的问题,您可能使用了错误的编程语言来完成任务。我现在无法将play framework repo恢复到我的工作区。当我这样做的时候,我会在这里分享。我确信我在使用Java:)@gabby据我所知,play也使用scala,也许它的一些scala库允许你这么做,而不是告诉版本。我上次检查的是播放1.2.5
{"str1":"Hello world!", "myint" : 55, "myDouble": 11.5}
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}