如何检查HashMap的对象实例的键和值的类型?
2022-09-01 23:06:12
我有一个接受对象的方法。在一个用例中,该方法接受 a 并将每个值设置为相应键名的属性。HashMap<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");
}
}
此类遵循特定的接口,因此不能为这些属性添加 setter。
我的问题是,我如何检查这里的类型转换?
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();
}
}