junsheng100 2011-09-05 13:48
浏览 244
已采纳

java如何反转泛型?

如题:已知一个 关于类型的字符串(如“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泛型的类型应该不包括参数的类型,编译后被擦除了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)