gpt4 book ai didi

java:如何修复未经检查的转换警告

转载 作者:搜寻专家 更新时间:2023-11-01 03:47:50 24 4
gpt4 key购买 nike

我有以下代码:

private HashMap<Class<?>, HashMap<Entity, ? extends Component>> m_componentStores;

public <T extends Component> T getComponent(Entity e, Class<T> exampleClass)
{
HashMap<Entity, ? extends Component> store = m_componentStores.get(exampleClass);

T result = (T)store.get(e);

if (result == null)
{
throw new IllegalArgumentException( "GET FAIL: "+e+" does not possess Component of class\nmissing: "+exampleClass );
}

return result;
}

当我编译时,它显示 T result = (T)store.get(e) 有一个未经检查的转换。

Type safety: Unchecked cast from capture#2-of ? extends Component to T

我缺少什么来防止出现此警告?

最佳答案

Class.cast 是您想要的。那么,您可能会考虑不使用反射。

改变行:

T result = (T)store.get(e);

到:

T result = exampleClass.cast(store.get(e));

关于java:如何修复未经检查的转换警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39276628/

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