【发布时间】:2018-06-13 16:00:18
【问题描述】:
我有一个实体如下:
public class Test extends AbstractEntity<Long> implements IHasDate { ... }
DAO 如下:
public class TestDAO extends AbstractDAO<Test, Long> { ... }
AbstractDAO中我想测试传递的类型参数Test是否是IHasDate的实例。
这是AbstractDAO 的定义:
public abstract class AbstractDAO<T extends AbstractEntity<ID>, ID extends Serializable> {
public void test(){
// Here I want to test if the passed type parameter is an instance of IHasDate.
}
}
我该如何解决这个问题?
【问题讨论】:
-
"
Here I want to test if the passed type parameter is an instance of IHasDate." 哪一个?AbstractEntity<ID>还是ID? --- 你可以通过泛型参数的边界强制执行它,例如T extends AbstractEntity<ID> & IHasDate -
不是骗子——充其量是 XY 问题。
-
@Turing85 类
Test是实现IHasDate的类,所以在这种情况下T extends AbstractEntity<ID>是我要测试的类。 -
@IchigoKurosaki 再次:您的实际问题是什么?这听起来很像一个 XY 问题。
标签: java