有没有什么东西,也许是 Guava,可以从键值的类名或变量名推断出 HashMap 的键名?喜欢:
public Class MyBean {
//basic properties, getters, setters, etc.
}
MyBean myBean = new MyBean();
Map<String, Object> myHashMap = new HashMap<String, Object>();
myHashMap.put(myBean);
System.out.println(myHashMap.get("myBean"));
最佳答案
从变量名来做到这一点是不可能的 - 因为当变量的值被传递到put
方法时,变量名实际上已经丢失了。可以有多个变量引用同一个对象,或者没有变量:
myHashMap.put(new SomeOtherBean()); // What key would be used?
通过类名来做到这一点很容易,但我怀疑它的实用性相当有限。
关于java - 可以通过值的类名称推断键名称的 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5411870/