栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用泛型类型执行强制转换时的警告

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用泛型类型执行强制转换时的警告

答案可能很无聊:出现警告时,它不是类型安全的。而已。

__在此示例中可以看到 为什么 它不是类型安全的:

import java.util.HashMap;import java.util.Map;class SomeType {}class SomeSubType extends SomeType {}class SomeOtherType {}public class CastWarning{    public static void main(String[] args)    {        Map<SomeSubType, SomeOtherType> originalMap = new HashMap<SomeSubType, SomeOtherType>();        Map<? extends SomeType, SomeOtherType> map = originalMap;        Map<SomeType, SomeOtherType> castedMap = (Map<SomeType, SomeOtherType>) map;        // Valid because of the cast: The information that the        // key of the map is not "SomeType" but "SomeSubType"        // has been cast away...        SomeType someType = new SomeType();        SomeOtherType someOtherType = new SomeOtherType();        castedMap.put(someType, someOtherType);        // Valid for itself, but causes a ClassCastException        // due to the unchecked cast of the map        SomeSubType someSubType = originalMap.keySet().iterator().next();    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516097.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号