code tea 2022-09-28 21:17 采纳率: 100%
浏览 18
已结题

被Java泛型坑惨了

下面的Java代码会不会报错
输出是什么

import java.util.HashMap;
import java.util.Map;

public class Test {

    public static void main(String[] args) {

        Map map1 = new HashMap();
        map1.put("key", new Integer(100));
        Map<String, String> map2 = map1;
        Integer value = Integer.valueOf(((Object)map2.get("key")).toString());
        System.out.println(value);
    }
}
  • 写回答

2条回答 默认 最新

  • 张三博客 张三解忧百货店官方账号 2022-09-28 22:18
    关注

    1.不会报错
    2.输出为:100

    其实也不是泛型的问题 第一个Map没有定义泛型默认为 Map<Object,Object> 所以在输出的时候会出现类型转换的异常 所以泛型最好还是指定下

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

报告相同问题?

问题事件

  • 系统已结题 10月9日
  • 已采纳回答 10月1日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 QQ邮箱过期怎么恢复?
  • ¥15 登录他人的vue项目显示服务器错误
  • ¥15 (标签-android|关键词-app)
  • ¥60 如何批量获取json的url
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数
  • ¥15 llama3中文版微调
  • ¥15 pg数据库导入数据序列重复
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)