有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

播下我期望的hasmap,如下所示

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

共 (1) 个答案

  1. # 1 楼答案

    无法获取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;
    }
    

    根据ur输入,输出如下:

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

    注意

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

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