在C#中,这是可能的:
public interface IMyCoolInterface<TEntity> where TEntity : class
{
}
因此,泛型被限制/局限于一个类。
使用Java是否可能?
答案 0 :(得分:2)
通用参数始终是Java中的类。没有其他选择。该语言不允许将原语作为参数,并且没有等效于C#的struct
。
答案 1 :(得分:2)
如果您希望接口具有某种基本类型,则可以进一步限制它,方法是在您的泛型中添加extends关键字
public interface MyGenericInterface<T extends List<?>> {
T convert(String value);
}
现在,每个实现MyGenericInterface
的类都必须使用在其实现中扩展List的对象
public class MyClass implements MyGenericInterface<ArrayList<String>> {
@Override
public ArrayList<String> convert(String value) {
return new ArrayList<>();
}
}