如何创建一个Map<String , Object>.
每次Object都是一个字符串时,在这个映射中.但是现在我想在对象中添加一个类.这是混合字符串和类对象的好方法吗?如果是的话,当我遍历地图时,我如何在类和字符串之间进行区分?
Boh*_*ian 10
Map<String, Object> map = new HashMap<String, Object>();
...
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (entry.getValue() instanceof String) {
// Do something with entry.getKey() and entry.getValue()
} else if (entry.getValue() instanceof Class) {
// Do something else with entry.getKey() and entry.getValue()
} else {
throw new IllegalStateException("Expecting either String or Class as entry value");
}
}
Run Code Online (Sandbox Code Playgroud)
java中的每个对象(不包括接口)都扩展了Object,所以你的方法是正确的。
要知道对象是字符串还是其他对象类型,请使用instanceof关键字。
例子:
Map<String, Object> objectMap = ....;
for (String key : objectMap.keySet()) {
Object value = objectMap.get(key);
if (value instanceof String) {
System.out.println((String) value);
} else if (value instanceof Class) {
System.out.println("Class: " + ((Class)value).getName());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76349 次 |
| 最近记录: |