我有一个这样的界面:
公共(public) T 评估(浮点分数,T startValue,T endValue);
其他代码会将每个 T
类型视为 Object
,最后我将得到返回值,它是一个 Object
类也。
我想要的是将 startValue
和 endValue
作为整数传递,但返回一个完全不同的实例(不是 Integer
)。我将强制将返回值转换为我假设的值。
我所做的是将 T
替换为对象,如下所示:
公共(public)对象评估(浮点分数,对象起始值,对象结束值)
但是失败了,我想接口(interface)是否像那样定义? extends T
可以工作,但事实并非如此。 (我说得对吗?)
那么有什么方法可以绕过泛型类型检查吗?
最佳答案
假设您的接口(interface)有一个 T 泛型参数,请添加第二种类型,例如 R:
interface MyInterface<T,R> {
public R evaluate(float fraction, T startValue, T endValue);
}
关于java - 如何绕过java泛型类型检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46403015/