我有一个接受对象的方法。在一个用例中,该方法接受 aHashMap<String, String>
并将每个值设置为相应键名的属性。
public void addHelper(Object object) {
if (object instanceof HashMap) {
HashMap<String, String> hashMap = (HashMap<String, String>) object;
this.foo = hashMap.get("foo");
this.bar = hashMap.get("bar");
}
}
此类遵循特定的接口,因此为这些属性添加设置器不是一种选择。
我的问题是,如何检查这里的类型转换?
HashMap<String, String> hashMap = (HashMap<String, String>) object;
提前致谢!
解决方案
感谢@drobert 的回答,这是我更新的代码:
public void addHelper(Object object) {
if (object instanceof Map) {
Map map = (Map) object;
if (map.containsKey("foo")) this.foo = map.get("foo").toString();
if (map.containsKey("bar")) this.bar = map.get("bar").toString();
}
}