【发布时间】:2017-12-14 04:57:29
【问题描述】:
我的第一次尝试是这样的:
@Override
public Class<? extends Set<Measurement>> getType() {
Set<Measurement> s = new HashSet<Measurement>();
return s.getClass();
}
但它不编译:
不兼容的类型:java.lang.Classjava.util.Set 无法转换为 java.lang.Class*?扩展 java.util.Set*mydomain.Measurement**
我的第二次尝试:
@Override
public Class<? extends Set<Measurement>> getType() {
return Set<Measurement>.class;
}
仍然无法编译:
无法从参数化类型中选择
【问题讨论】:
-
为什么要这样做?因为type erasure,看不出有用
-
是的,类型擦除是术语:)
标签: java