将 Java 泛型限制为一个类

在 C# 中,这是可能的:


public interface IMyCoolInterface<TEntity> where TEntity : class

{

}

所以泛型被限制/限制在一个类中。


这可以用 Java 实现吗?


FFIVE
浏览 141回答 2
2回答

BIG阳

泛型参数在 Java 中始终是类。没有其他选择。该语言不允许原语作为参数,并且没有与 C# 的struct.

达令说

如果您希望接口具有某种基本类型,您可以通过在泛型中添加 extends 关键字来进一步限制它public interface MyGenericInterface<T extends List<?>> {&nbsp; T convert(String value);}现在每个实现的类都MyGenericInterface必须使用一个在其实现中扩展 List 的对象public class MyClass implements MyGenericInterface<ArrayList<String>> {&nbsp; @Override&nbsp; public ArrayList<String> convert(String value) {&nbsp; &nbsp; return new ArrayList<>();&nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java