请教下 Java 中, instanceof 在判断 Map 的时候怎么做?
資深大佬 : ukipoi 6
比如
Object o = getXXX(); if (o instanceof HashMap) { HashMap<String,?> map = (HashMap<String,?>) o; //HashMap map = (HashMap) o; }
两种方式 IDE 都会警告,那怎么处理比较好呢?
大佬有話說 (7)
比如
Object o = getXXX(); if (o instanceof HashMap) { HashMap<String,?> map = (HashMap<String,?>) o; //HashMap map = (HashMap) o; }
两种方式 IDE 都会警告,那怎么处理比较好呢?
如果真的要检查,就只能检查 HashMap 的每个成员的 key 是不是 String,当然这应该不是你想要的,你直接像上面说的那样忽略警告就好。
Object get() {
return new HashMap<String, Object>();
}
这样逐步判断吧
然后再 instanceof MyObject 就可以了。