![](/img/trans.png)
[英]Java Generics, how to avoid unchecked assignment warning when using class hierarchy?
[英]Avoid warning when implementing equals on class with generics
我有以下代码:
public abstract class A<T extends B<? extends A<T>>>{
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
A other = (A) obj; // warning here: "A is a raw type"
// [...]
}
}
如何在指定的行中避免“A是原始类型”和“类型安全:未选中的强制转换”? 是否存在某种类型的黑客攻击或者我的课程出错?
谢谢
如果比较A
的参数化类型无关紧要,请声明并将其转换为A<?>
:
A<?> other = (A<?>) obj;
这将删除警告。
在它之前@SuppressWarnings("unchecked")
这个注释: @SuppressWarnings("unchecked")
。 有关详细信息,请参见此处
您可以根据需要使用@SuppressWarnings
注释。 看到这里。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.