作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下设置:
@Override
public <T> Optional<EndpointProvider<T>> getProvider(Class<T> providedClass) {
if(providedClass.isAssignableFrom(RecommendationCategory.class)){
return Optional.of((EndpointProvider<T>) new RecommendationCategoryProvider());
}
return Optional.empty();
}
private class RecommendationCategoryProvider implements EndpointProvider<RecommendationCategory> {
编译器给了我一个未经检查的强制转换警告。我认为检查providClass.isAssignableFrom(RecommendationCategory.class)会阻止未经检查的强制转换警告。
有什么办法可以让这个设置中不出现此警告吗?
最佳答案
这是我能想到的唯一方法。它不会显示任何警告。
public static <T> EndpointProvider<T> getProvider(Class<T> klass)
{
if (klass.isAssignableFrom(RecommendationCategory.class))
{
return new EndpointWrapper<T>(klass.cast(new RecommendationCategory()));
}
return null;
}
private static class EndpointWrapper<X> implements EndpointProvider<X>
{
public EndpointWrapper(X wrapper)
{
}
}
private static class RecommendationCategory
{
}
private static interface EndpointProvider<T>
{
}
关于java - 基于 Class<> 参数返回通用实现时未检查的强制转换警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38829340/
我是一名优秀的程序员,十分优秀!