gpt4 book ai didi

java - 基于 Class<> 参数返回通用实现时未检查的强制转换警告

转载 作者:行者123 更新时间:2023-11-30 07:13:15 24 4
gpt4 key购买 nike

我有以下设置:

@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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com