下面
get
给出声纳问题的方法:
在返回类型中不应使用泛型通配符类型。
我需要一些专家帮助来重构这段代码,以避免声纳问题。我尝试不同的方式,比如
Entity<D.Id>
但我不知道如何与
Entity<C.Id>
.
public interface Identity {
//
}
public interface Entity<I extends Identity> {
//
}
public interface D
extends Entity<D.Id>
{
}
public interface C
extends Entity<C.Id>
{
}
protected Entity<? extends Identity> get(final String value)
{
if (value == 'valuD')
{
return new D() //return object;
}
else
{
return new C() //return object;
}
}