在这里我有类使用泛型
public class ParamsContainer <E extends Enum<E> & Param>
{
protected Map<E, Object> params;
public <T> T getWithType(E param) {
return (T) params.get(param);
}
}
在这里,我无法通过编译器进行类型检查。
XMLGregorianCalendar rqDateTime = paramsContainer.getWithType(Param.SYS_RATES_DATE);
你能帮我为什么收到消息吗
“类型不兼容。
要求:XMLGregorianCalendar
找到:对象”
最佳答案
protected Map<E, Object> params;
该值是一个对象,因此是一个对象
因此您可以尝试强制转换以将对象转换为XMLGregorianCalendar
XMLGregorianCalendar rqDateTime = (XMLGregorianCalendar)paramsContainer.getWithType(Param.SYS_RATES_DATE);
关于java - 在类和方法上均使用泛型时,类型不兼容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39849177/