Java中,怎么根据不同的map名,获得其字节码对象,并且取到map中的值,请给出一个代码示例
时间: 2024-04-30 18:24:20 浏览: 94
详解JAVA里面获取map的key和value的方法
5星 · 资源好评率100%
假设你已经有了多个Map对象,可以使用Java反射机制来动态获取Map对象的Class对象并创建实例,然后通过get方法获取Map中的值。
代码示例:
```
import java.util.Map;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
Map<String, String> map1 = new HashMap<>();
Map<String, Integer> map2 = new HashMap<>();
map1.put("name", "张三");
map2.put("age", 18);
// 获取map1的Class对象并创建实例
Class<?> map1Class = map1.getClass();
try {
Map<String, String> newMap1 = (Map<String, String>) map1Class.newInstance();
// 获取map1中的值
String name = newMap1.get("name");
System.out.println(name);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
// 获取map2的Class对象并创建实例
Class<?> map2Class = map2.getClass();
try {
Map<String, Integer> newMap2 = (Map<String, Integer>) map2Class.newInstance();
// 获取map2中的值
int age = newMap2.get("age");
System.out.println(age);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
```
输出结果:
```
张三
18
```
阅读全文