在Java中使用TypeLiteral

请提供一些有关如何TypeLiteral在Google

Guice或Java EE中使用的基本信息,如果使用简单的代码进行解释将非常有帮助,在此先感谢您

回答:

的目的TypeLiteral在吉斯是允许你绑定类和实例以通用类型(与指定类型的参数)避免从一个事实,即泛型未用Java物化,即,从这样的事实而产生的问题,即擦除皮之间的差SomeInterface<String>SomeInterface<Integer>在运行。TypeLiteral通过创建泛型类型的

临时 子类,允许泛型参数的值在擦除后幸存下来。

示例用法TypeLiteral

bind(new TypeLiteral<SomeInterface<String>>(){})

.to(SomeImplementation.class);

这会将类型的参数绑定SomeInterface<String>SomeImplementation类。

有关一些背景信息,请参阅有关超级类型令牌的博客文章,然后有关类型文字的文章。

以上是 在Java中使用TypeLiteral 的全部内容, 来源链接: utcz.com/qa/402583.html

回到顶部