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

避免Java类型擦除

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

避免Java类型擦除

实际上, 没有 类型擦除的实用方法,因为您不能要求运行时无法访问的内容。当然,假设您同意为实现

Bar
接口的每个枚举子类化通用类是一个实际的解决方法。

enum Test implements Bar {    ONE, TWO}class Foo<T> extends FooAbstract<Test> {    public Foo() {        ParameterizedType genericSuperclass =     (ParameterizedType) getClass().getGenericSuperclass();        baz((Class<T>) genericSuperclass.getActualTypeArguments()[0]);    }    private void baz(Class<T> qux) {        T[] constants = qux.getEnumConstants();        System.out.println(Arrays.toString(constants)); // print [ONE, TWO]    }}interface Bar {}class FooAbstract<T extends Enum<?> & Bar> {}


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

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

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