gpt4 book ai didi

java - 如何避免此 java 泛型警告

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

采用以下方法,它只按名称返回字段映射:

public static < T > HashMap< String, Field > getFields( Class< T > klass ) {
HashMap< String, Field > fields = new HashMap< String, Field >();
for ( Field f : klass.getFields() ) {
fields.put( f.getName(), f );
}
return fields;
}

如果您删除方法签名中的泛型类型,则该方法的行为相同,只是您会收到使用原始类型的警告。我遇到过其他类似的事情,尤其是在反射方面,你不一定有输入类型。似乎反射自然会遇到泛型问题,因为反射的构建是为了让您在知道(或不关心)类型时使用对象。

除了在所有内容上粘贴“@SuppressWarning”之外,有没有人对处理反射的更优雅方式有什么好的想法,而不会经常被泛型责骂?

最佳答案

这个怎么样(你不需要模板参数T,所以你可以跳过它):

public static HashMap< String, Field > getFields2( Class<?> klass ) {
HashMap< String, Field > fields = new HashMap< String, Field >();
for ( Field f : klass.getFields() ) {
fields.put( f.getName(), f );
}
return fields;
}

关于java - 如何避免此 java 泛型警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201087/

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