开发者社区 问答 正文

[unchecked] 未经检查的转换警告

代码如下:

 @Test
    public void testMonitorInfo(){
        Connection connection = alarmService.conn("121.40.157.200", "deploy", "deploy");
       Map<Alarm.AlarmType,Object> map = alarmService.minitorResult(connection);
        Double cpuInfo =(Double)map.get(Alarm.AlarmType.CPU);
        System.out.println("cpuInfo:"+cpuInfo);
        Double memInfo =(Double)map.get(Alarm.AlarmType.MEM);
        System.out.println("memInfo:"+memInfo);
        Map<String,Double> disInfo = (Map<String,Double>)map.get(Alarm.AlarmType.DISK);
        System.out.println("disInfo:" + disInfo);

        Assert.assertEquals(1,1);
    }

报警告
E:\BriAir\src\test\java\com\hp\briair\AlarmServiceTest.java:43: 警告: [unchecked] 未经检查的转换
Map<String,Double> disInfo = (Map<String,Double>)map.get(Alarm.AlarmType.DISK);
需要: Map
找到: Object
1 个警告
从警告代码来看map已经用泛型约束了(Map)map,请问是什么原因导致该警告?

展开
收起
蛮大人123 2016-03-10 17:10:11 4412 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    Java 对带有泛型的转换都会出现 unchecked 的警告的。要消除这个警告,可以用 @SuppressWarning 进行标注,或者是将 Map 继承为一个没有泛类的类。

    2019-07-17 18:57:59
    赞同 展开评论
问答分类:
问答地址: