如题:已知一个 关于类型的字符串(如“Map>”),现在需要根据这个字符串,获得一个Map>对象和该对象的Type?
4条回答 默认 最新
- _1_1_7_ 2011-09-05 15:49关注
Map和List 都是接口,要从字符串"Map>"获得一个Map>对象?问题本身有问题,实例是HashMap>还是TreeMap>还是其他的实现。。。
public static void main(String[] args) throws Exception { Map<String, List<String>> b = getInstance("Map<String, List<String>>"); System.out.println(b.getClass()); } public static <T> T getInstance(String type) throws Exception { Class clazz = Class.forName(getClassName(type)); return (T) clazz.newInstance(); } private static String getClassName(String type) { if (type.startsWith("Map")) return "java.util.HashMap"; return "java.lang.Object"; }
java泛型的类型应该不包括参数的类型,编译后被擦除了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报